MySQL: Data pagination according data on another table
METHOD #1
You could create a temp table called itemID_paginator and paginate this
CREATE TABLE items_paginator AS SELECT itemID from Items WHERE 1=2;
ALTER TABLE items_paginator ADD PRIMARY KEY (itemID);
INSERT INTO items_paginator SELECT itemID from Items;

You then paginate against itemID_paginator and join it to Ads
SELECT A.*,B.* FROM 
(
    SELECT itemID FROM itemID_paginator ORDER BY ItemID
    LIMIT $offset, $no_of_records_per_page
) PG
INNER JOIN Items A ON PG.ItemID = A.ItemID
INNER JOIN Ads   B ON A.ItemID  = B.ItemID;

METHOD #2
If you prefer not to use a temp table, then perform LIMIT directly to the Items table
SELECT A.*,B.* FROM 
(
    SELECT * FROM Items ORDER BY ItemID
    LIMIT $offset, $no_of_records_per_page
) A INNER JOIN Ads B ON A.ItemID  = B.ItemID;

I suggested these methods before in the following posts:

Jan 31, 2017 : Slow query while selecting a higher offset from millions of rows
Dec 21, 2013 : Using OFFSET in a large table by a simple sub-query
Feb 21, 2013 : Does MYSQL join before LIMIT?
May 16, 2011 : Fetching a Single Row from Join Table

GIVE IT A TRY !!!