爲什麼在窗口調整大小在2個斷點之間之後,現在使用的slide innerWidth()從突破點我採取調整 從,不進?在兩個斷點之間調整窗口大小之後,現在使用的slide innerWidth()取自我調整大小的斷點,而不是進入
爲了更精確:
https://jsfiddle.net/ecm3d30z/1/
例如我在斷裂點1(以上800像素)
我做窗口從斷裂點1至斷裂點2調整(800px以下)。
下面我就斷裂點2(下面800像素)
然後我點擊下一個/上按鈕
動畫使用oneslidewidth的寬度從斷裂點1,而它應該使用oneslidewidth的寬度從beradking點2
app = { hubert:function() { var num = $(".testimonial").length; var oneslidewidth = $(".testimonial").innerWidth(); var oneslideheight = $(".testimonial").innerHeight(); var fullsliderwidth = num * oneslidewidth; var active = false; $("section").css({ width: oneslidewidth, height: oneslideheight }); $(".calosc").css({ width: fullsliderwidth }); function changehook(direction) { var slide = parseInt($(".calosc").data("slide")); if (direction == "next") { slide++ $(".calosc").data("slide", slide); } else if (direction == "prev") { slide-- $(".calosc").data("slide", slide); } } $('.next').click(function(e) { e.preventDefault(); if(active || parseInt($(".calosc").data("slide")) + 1 > num) { return; } changehook("next"); active = true; $(".calosc").animate({'left' : $(".calosc").position().left-oneslidewidth},500, function() { {active = false;} }); }); $(".prev").on("click",function(e) { e.preventDefault(); if(active || parseInt($(".calosc").data("slide")) - 1 < 1) { return; } changehook("prev"); active = true; $(".calosc").animate({'left': $(".calosc").position().left+oneslidewidth},500, function() { { active = false; } }); }); } }
感謝您的努力 –
它破壞了,因爲從上一個斷點的div class =「calosc」中的'left'屬性值被繼承到新的斷點 –
我看到了。你要用「對象」方法,這裏是相同的代碼,只是稍微重構https://jsfiddle.net/ecm3d30z/3/ – user7552