021

مشکل در لود شدن اسکریپت بعد از infinite scroll

2 پست در این موضوع قرار دارد

سلام

من برای عکسهای پستها یه اسکریپت Hover گذاشتم که به درستی کار میکنه و برای لود شدن پستهای بعدی از پلاگین infinite scroll استفاده کردم . وقتی پستهای بیشتری لود میشه تو صفحه , دیگه اسکریپت hover و Fancybox برای عکسها عمل نمیکنه ... مثل اینکه باید واسه infinite scroll یه callback درست کنم . اماهرکاری کردم نشد .. کسی میتونه کمکم کنه . اینم کد infinite scroll و اسکریپتهایی که باید callback بشن :


$(function(){
var $masonrytt = $('#masonry-container');
$masonrytt.imagesLoaded( function(){
$masonrytt.masonry({
itemSelector: '.mitem',
isAnimated: true,
columnWidth: 1
});
});
$masonrytt.infinitescroll({
navSelector : '#page-nav',
nextSelector : '#page-nav a',
itemSelector : '.mitem',
loading: {
finishedMsg: 'No more pages to load.'
}
},
// trigger Masonry as a callback
function( newElements ) {
var $newElems = $( newElements ).css({ opacity: 0 });
$newElems.imagesLoaded(function(){
$newElems.animate({ opacity: 1 });
$masonrytt.masonry( 'appended', $newElems, true );
});
}
);
});


// Hover img
if(!(jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 6)){
// IE sucks at fading PNG's with gradients so just use show hide
// make sure it's not visible to start
jQuery('.hover-content').each(function(){
var overImg = jQuery(this).find('.image-overlay');
jQuery(this).hover(function(){
overImg.stop().fadeIn('fast');
},function(){
overImg.stop().fadeOut('fast');
});
});
}
// fancybox
jQuery(".fancybox").fancybox({
openEffect : 'elastic',
closeEffect : 'elastic'
});

با تشکر

0

به اشتراک گذاری این پست


لینک به پست

از تابع live (برای نسخه زیر 1.9) و یا تابع on (برای نسخه 1.9 با بالا) استفاده کنید ببینید مشکل حل میشه؟

3

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط مسعود
      با سلام
      دوستان من جهت رفع خطای Inline small JavaScript سایت Gtmetrix باید فایل های جاوای در خواستی رو به هد سایت منتقل کنم تا سرعت لود سایت افزایش پیدا کنه ،
       
       should inline the following small resources:
          /plugins/add-to-any/addtoany.min.js
          /themes/company-elite-yekan/js/custom.min.js
          /themes/company-elite-yekan/js/skip-link-focus-fix.min.js
       
      خب من هم این کارو انجام دادم و محتوی هر سه فایل رو به اینصورت به قسمت head در فایل header.php منتقل کردم.
      <!-- addtoany.min.js --> <script>"function"==typeof jQuery&&jQuery(document).ready(function(a){a("body").on("post-load",function(){window.a2a&&a2a.init_all("page")})});</script> <!--end addtoany.min.js --> <!--custom.min.js--> <script>!function($){$(document).ready(function($){$(".search-icon").length>0&&$(".search-icon").click(function(e){e.preventDefault(),$(".search-box-wrap").slideToggle()}),$("#mobile-trigger").sidr({timing:"ease-in-out",speed:500,source:"#mob-menu",name:"sidr-main"});var $scrollup_object=$("#btn-scrollup");$scrollup_object.length>0&&($(window).scroll(function(){$(this).scrollTop()>100?$scrollup_object.fadeIn():$scrollup_object.fadeOut()}),$scrollup_object.click(function(){return $("html, body").animate({scrollTop:0},600),!1}))})}(jQuery);</script> <!--end custom.min.js--> <!--skip-link-focus-fix.min.js--> <script>!function(){var is_webkit=navigator.userAgent.toLowerCase().indexOf("webkit")>-1,is_opera=navigator.userAgent.toLowerCase().indexOf("opera")>-1,is_ie=navigator.userAgent.toLowerCase().indexOf("msie")>-1;(is_webkit||is_opera||is_ie)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var element,id=location.hash.substring(1);/^[A-z0-9_-]+$/.test(id)&&(element=document.getElementById(id),element&&(/^(?:a|select|input|button|textarea)$/i.test(element.tagName)||(element.tabIndex=-1),element.focus()))},!1)}();</script> <!--end skip-link-focus-fix.min.js--> همونطور که می بینید برای هر کدوم هم کامنت گذاشتم. ولی الان مشکلی که دارم اینه که نمیدونم اون function  هایی که قبلا داشتن این اسکریپت ها رو از آدرس خواستی و با یک فایل  .js  لود می کردن بگم که اون اسکریپت مورد نظر تو هد سایت در فایل header.php لود شده و از اونجا لود کن. خلاصه نحوه تغییر مسیر رو نمی دونم. بعنوان مثال فانکشن اول مربوط به افزونه addtoany هست و می خواد اسکریپت رو از addtoany.min.js لود کنه چطور عوضش کنم که متوجه بشه باید بره سراغ header.php قسمت head section ؟
      function A2A_SHARE_SAVE_enqueue_script() { if ( wp_script_is( 'jquery', 'registered' ) ) { wp_enqueue_script( 'addtoany', plugins_url('/addtoany.min.js', __FILE__ ), array( 'jquery' ), '1.0' ); } }  
    • توسط mahdiamandadi
      سلام خدمت دوستان عزیز
      به فایل پیوست توجه کنید
      این کنسول گوگل کروم هست.
      یه سری مشکلات رو توضیح داده که باعث دیر لود شدن وبسایتم شدن
      لطفا اگه میشه یه راه حلی بدید که چجوری این مشکلات رو حل کنم ، تشکر
      ادرس وبسایتم: www.NarmashirNews.ir

    • توسط Tesla
      سلام من سایتم توی gtmetrix اینطوریه :

      اما در گوگل آنالیز خیلی اوضاع فرق میکنه :

      و حتی بعضی روز هارو بالای 30 ثانیه میزنه گوگل!
      مشکل از چی میتونه باشه ؟
      سایتم اصلا سنگین نیست و حجمش 1مگابایته ، افزونه ی زیادی هم ندارم
    • توسط niak
      سلام 
      کسی میدونه چطوری 2 تا اسکریپتو به نحو صحیح  باهم میشه ادغام کرد؟ 
       
      این 2 تا اسکریپتو میخوام لا هم ادغام کنم که هر 2 تاشون درست اجرا بشن :
       
       
       
       
       
      <script type="text/javascript"> $('.owl-carousel').owlCarousel({ loop:true, margin:10, nav:true, responsive:{ 0:{ items:1 }, 600:{ items:3 }, 1000:{ items:5 } } }) </script>  
      و 
       
      <script > var owl = $('.owl-carousel'); owl.owlCarousel({ items:4, loop:true, margin:10, autoplay:true, autoplayTimeout:1000, autoplayHoverPause:true }); </script>  
       
       
    • توسط logomaster
      سلام ، من روی یک سایت وردپرسی به تازگی یه قالب (اسکریپت) نصب کردم (اولین بارمه که اسکریپت نصب می کنم)
      قالب رو کاملا نصب کردم بدون هیچ مشکلی. حالا فقط برای ورود به مدیریت وردپرس ، یوزر و پسورد میخواد که نمیدونم از کجا باید اینارو پیدا کنم
      ممنون