亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

用老師這個方法,會有一個BUG如何解決?

http://img1.sycdn.imooc.com//573b23f30001eb3915090591.jpg

如圖,第一次拖動,調用scroll方法并觸發事件時,剛開始會出現圖片重疊,再往下拖動滾動條會往上彈一下,然后又好了,并且在隨后的繼續拖動過程中,再觸發事件,圖片繼續加載又不會再出現這樣的情況了。

正在回答

6 回答

你把JS和JQ文件放到body最后面就可以了。

0 回復 有任何疑惑可以回復我~

你的問題解決了嗎?

我也是出現同樣的問題,我的跟老師的代碼的區別,只是給main在css上設置了固定的寬度,不隨瀏覽器窗口大小變化而改變列數。


0 回復 有任何疑惑可以回復我~
#1

KevinLL

$(window).on('scroll', function() { if (checkScrollSlide()) { ********** }) } waterfall(); }); waterfall()放在if外面倒是不會出現重疊的BUG,只是每滾動一次就執行一次,會增加瀏覽器的負擔而影響流暢度吧
2016-10-09 回復 有任何疑惑可以回復我~

$oImg=$('<img>').attr("src","images/"+val.src).appendTo($oPic)這句代碼寫錯了,應該這樣寫:

$oImg=$('<img>').attr("src","images/"+$(val).attr('src')).appendTo($oPic) ?val是DOM元素,要把它轉化成jquery元素,然后用jquery方法獲取它的值

0 回復 有任何疑惑可以回復我~
#1

ZZXboy 提問者

顯然不是這個原因,val.src和$(val).attr('src')返回的都是字符串,只不過一個用的是DOM屬性一個是jquery方法,這個語句的目標就是拼字符串而已,用啥方法都一樣。 而且我說過了我的瀑布流是能實現的,只是第一次加載圖片的時候會產生堆疊,此后就沒問題了,肯定不是生成元素的方法有錯
2016-07-25 回復 有任何疑惑可以回復我~

你試一下把 scrollslide()函數返回的條件改一下.

return (lastH<=scrollH) ? true : false ;

0 回復 有任何疑惑可以回復我~
#1

ZZXboy 提問者

無效??隙ê瓦壿嫑]關系
2016-07-25 回復 有任何疑惑可以回復我~

$(window).on("load",function() {

waterfall();

var dataInt={"data":[{"src":"23.jpg"},{"src":"24.jpg"},{"src":"25.jpg"},{"src":"26.jpg"},{"src":"27.jpg"},{"src":"28.jpg"},{"src":"29.jpg"},{"src":"30.jpg"},{"src":"31.jpg"},{"src":"32.jpg"},{"src":"33.jpg"},{"src":"34.jpg"},{"src":"35.jpg"},{"src":"36.jpg"},{"src":"37.jpg"},{"src":"38.jpg"},{"src":"39.jpg"},

{"src":"40.jpg"},{"src":"41.jpg"},{"src":"42.jpg"},{"src":"43.jpg"},{"src":"44.jpg"},{"src":"45.jpg"},{"src":"46.jpg"},{"src":"47.jpg"},{"src":"48.jpg"},{"src":"49.jpg"},{"src":"50.jpg"},{"src":"51.jpg"},{"src":"52.jpg"},{"src":"53.jpg"},{"src":"54.jpg"},{"src":"55.jpg"},{"src":"56.jpg"},{"src":"57.jpg"},{"src":"58.jpg"},

{"src":"59.jpg"},{"src":"60.jpg"},{"src":"61.jpg"},{"src":"62.jpg"},{"src":"63.jpg"},{"src":"64.jpg"},{"src":"65.jpg"},{"src":"66.jpg"},{"src":"67.jpg"},{"src":"68.jpg"},{"src":"69.jpg"},{"src":"70.jpg"},

{"src":"71.jpg"},]};

$(window).scroll(function() {

if(scrollside()) {

$.each(dataInt.data, function(index, val) {

$oBox=$('<div>').addClass('box').appendTo('#content');

$oPic=$('<div>').addClass('pic').appendTo($oBox);

$oImg=$('<img>').attr("src","images/"+val.src).appendTo($oPic);

});

waterfall();

}

});

});


function waterfall(){

var $box=$("#content>div");

var wbox=$box.eq(0).outerWidth();

var cols=Math.floor($(window).width()/wbox);

$("#content").width(wbox*cols).css("margin","0 auto");

var Harry=[];

$box.each(function(index, value) {

var h=$box.eq(index).outerHeight();

if(index<cols){

Harry[index]=h;

}

else{

var minH=Math.min.apply(null,Harry);

var minIndex =$.inArray(minH,Harry);

$(value).css({"position":"absolute","left":minIndex*wbox+"px","top":minH+"px",});

Harry[minIndex]+=$box.eq(index).outerHeight();

}

});


}


function scrollside(){

var $lastBox=$("#content>div").last();

var lastH=$lastBox.offset().top+Math.floor($lastBox.outerHeight()/2);

var scrollH=$(window).scrollTop()+$(window).height();

return (scrollH>lastH)?true:false;

}


0 回復 有任何疑惑可以回復我~

是不是代碼問題呢 貼出來看看

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

用老師這個方法,會有一個BUG如何解決?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號