ورود

View Full Version : سوال: مشکل اسکریپت های جی کوئری سایت بعد لود مطالب بیشتر با ajax



ali.monje
سه شنبه 14 مرداد 1393, 10:29 صبح
سلام

بی مقدمه:
یه صفحه اصلی دارم که باکس های مربوط به مطالب رو تو اون توسط CSS مخفی کردم و توسط دستور jquery وقتی تصویر مربوط به هر مطلب لود میشه باکس مربوط به اون مطلب رو نمایان میکنم.

$(document).ready(function () {
$('.box img.imgcheck').on('load', function () {
$(this).parent().parent().show();
});
});


یه دکمه انتهای صفحه گذاشتم که با کلیک روی اون توسط jquery یه دستور ارسال میکنم به صفحه Ajax.php و 10 مطلب جدید به صورت آیجکس از دیتابیس خونده و در سایت در قسمت مورد نظر قرار میدم.

$(document).ready(function () {
$('.loadnewpost').click(function (e) {
pageid++;
$.get('ajax.php', { php_pageid: pageid}, function (data) { $('.loadpost').html(data); });
});
});


خوب حالا مشکل اینجاست ، وقتی این مطالب جدید به بخش مورد نظر اضافه شدن به صورت پیشفرض طبق کدهای CSS صفحه قابل نمایش نیستند و باید تصویر داخل اونها لود شه و جیکوئری حالت نمایش اونها رو از حالت مخفی خارج کنه. ولی متاسفانه کدهای جیکوئری که در بخش بالا قرار دادم هنگام لود خود صفحه و 10 مطلب اولیه که به صورت پیشفرض در سایت هستن درست کار میکنه ولی در مطالبی به صفحه اضافه شدن قعال نمیشه.

از دوستان کسی میدونه مشکل کجاست؟

ali.monje
پنج شنبه 16 مرداد 1393, 09:44 صبح
کسی نظری نداره؟

Salimjavahery
دوشنبه 20 مرداد 1393, 02:35 صبح
من یه بار یه مشکل شبیه به همین داشتم این جوری حل شد:

$(document).on("click", ".loadnewpost", function () {
pageid++;
$.get('ajax.php', { php_pageid: pageid}, function (data) { $('.loadpost').html(data); });
});


ببینید مشکل شمام حل میشه؟ :)

ali.monje
پنج شنبه 23 مرداد 1393, 23:39 عصر
ممنون از پاسختون ولی نشد
نمیدونم چرا کدها و اسکریپت های جیکوئری بر روی بخش هایی که از به صورتajax به صفحه اضافه میشن به صورت خودکار اعمال نمیشه
البته بخش هایی که به صورت ajax اضافه میشن تو view source مربوط به مرورگر نشون داده نمیشن ولی با استفاده از بخش هایی چون inspect element تو مرورگر کروم میشه به اونها دسترسی داشت!

saman6384
یک شنبه 26 مرداد 1393, 09:40 صبح
شما باید وقتی تگ های جدید به صفحت اضافه کردی ، برای تگ های اضافه شده رویداد ها رو دوباره بایند بکنی