程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> juqery-想在網頁中加入一個瀑布流效果(jQuery),可是出現問題了

juqery-想在網頁中加入一個瀑布流效果(jQuery),可是出現問題了

編輯:編程綜合問答
想在網頁中加入一個瀑布流效果(jQuery),可是出現問題了
 $( window ).on( "load", function(){
    waterfall();
    var dataInt={'data':[{'src':'1.jpg'},{'src':'2.jpg'},{'src':'3.jpg'},{'src':'4.jpg'}]};
    window.onscroll=function(){
        if (checkScrollSlide()) {
            $.each(dataInt.data,function(index,value){
                var $oPin=$('<div>'),addClass('pin'),appendTo($('#viewlist'));
                var $oBox=$('<div>'),addClass('box'),appendTo($oPin);
                $('<img>').attr('src','<?php bloginfo('template_directory'); ?>/adimgs/' + $( value).attr( 'src') ).appendTo($oBox);
            });
            waterfall();
        };
    }
});

/*
    parend 父級id
    pin 元素id
*/
function waterfall(parent,pin){
    var $aPin = $( "#viewlist>div" );
    var iPinW = $aPin.eq( 0 ).width();// 一個塊框pin的寬
    var num = Math.floor( $( window ).width() / iPinW );//每行中能容納的pin個數【窗口寬度除以一個塊框寬度】
    //oParent.style.cssText='width:'+iPinW*num+'px;ma rgin:0 auto;';//設置父級居中樣式:定寬+自動水平外邊距
    $( "#viewlist" ).css({
        'width:' : iPinW * num,
        'margin': '0 auto'
    });

    var pinHArr=[];//用於存儲 每列中的所有塊框相加的高度。

    $aPin.each( function( index, value ){
        var pinH = $aPin.eq( index ).height();
        if( index < num ){
            pinHArr[ index ] = pinH; //第一行中的num個塊框pin 先添加進數組pinHArr
        }else{
            var minH = Math.min.apply( null, pinHArr );//數組pinHArr中的最小值minH
            var minHIndex = $.inArray( minH, pinHArr );
            $( value ).css({
                'position': 'absolute',
                'top': minH + 10,
                'left': $aPin.eq( minHIndex ).position().left
            });
            //數組 最小高元素的高 + 添加上的aPin[i]塊框高
            pinHArr[ minHIndex ] += $aPin.eq( index ).height() + 15;//更新添加了塊框後的列高
        }
    });
}

function checkScrollSlide(){
    var $aPin = $( "#viewlist>div" );
    var lastPinH = $aPin.last().get(0).offsetTop + Math.floor($aPin.last().height()/2);//創建【觸發添加塊框函數waterfall()】的高度:最後一個塊框的距離網頁頂部+自身高的一半(實現未滾到底就開始加載)
    var scrollTop = $( window ).scrollTop()//注意解決兼容性
    var documentH = $( document ).height();//頁面高度
    return (lastPinH < scrollTop + documentH ) ? true : false;//到達指定高度後 返回true,觸發waterfall()函數
}

Chrome 報錯: Uncaught SyntaxError: Unexpected token ( 第7行

網頁樣式也沒有出來

最佳回答:


var $oPin=$('

'),addClass('pin'),appendTo($('#viewlist'));
var $oBox=$(''),addClass('box'),appendTo($oPin);

逗號改為點

var $oPin=$('

').addClass('pin').appendTo($('#viewlist'));
var $oBox=$('').addClass('box').appendTo($oPin);
u013182001
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved