大话西游手游官网改版总结
最近做大话西游官网改版,从先前的版本中学到了不少知识,总结了分享下
1、加载背景图片,把背景图放在showBg样式里
1 2 3 4 5 6 7 8 9 10 | function loadBg(ele) { ele.each( function () { var $ this = $( this ); if ($ this .hasClass( 'showBg' )) { return } $ this .addClass( 'showBg' ); }) } |
2、加载图片,把图片地址放在data-src属性里,如果存在data-src就放在src里,然后去掉data-src属性
1 2 3 4 5 6 7 8 9 10 11 12 | function loadImg(ele) { ele.each( function () { var $ this = $( this ), imgSrc = $ this .attr( "data-src" ); if (!imgSrc) { return } $ this .attr( 'src' , imgSrc); $ this .removeAttr( "data-src" ); }) } |
3、滚动加载某个模块图片,首先获取对应模块相对文档的top值,跟浏览器卷去的scrollTop比较
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | function scrollLoad() { var $win = $(window), view_height = $win.height() + 100, win_top = $win.scrollTop(), // 魔王 $mowangul = $( '#Jmowangul' ), $con_wrap14_mainbox = $( '.con-wrap14 .con-main-box' ), $mowangul_imgs = $mowangul.find( "img" ), mowangul_top = $mowangul.offset().top - view_height, iscroll = false ; compare(); $win.bind( 'scroll' , function () { //监听滚动 if (iscroll) { return ; } iscroll = true ; setTimeout( function () { win_top = $win.scrollTop(); compare(); iscroll = false ; }, 300) }) function compare() { //比较加载对应模块 if (win_top >= mowangul_top) { loadImg($mowangul_imgs); loadBg($con_wrap14_mainbox); } } } |
4、获得浏览器宽度,加载对应样式
1 2 3 4 5 6 7 8 9 10 11 12 13 | function windowResize() { var w = $(window).width(); if (w < 1400) { $( '.wrap' ).addClass( 'wrap-1200' ); } else { $( '.wrap' ).removeClass( 'wrap-1200' ); } } windowResize(); $(window).resize( function () { windowResize(); }); |
5、如果祖先元素设置了overflow:hidden,那么超出的部分会被隐藏掉,以下代码可以很方便的实现
1 | < div id = "jnPopBox" class = "jn-pop-box" ></ div > |
1 | .jn-pop-box{ position : absolute ; z-index : 10 ; background : #fff ; display : none ;} |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $( "#Jstrategy" ).on( '.pic' , 'mouseover' , function () { var html = $( this ).find( ".jn-tips-box" ).html(), scrollX = document.documentElement.scrollLeft || document.body.scrollLeft, scrollY = document.documentElement.scrollTop || document.body.scrollTop, offsetnod = $( this ).offset(); $( "#jnPopBox" ).html(html).css({ 'display' : 'block' , 'left' : offsetnod.left - 50, 'top' : offsetnod.top + 34 }); }).on( '.pic' , 'mouseout' , function () { $( "#jnPopBox" ).html( "" ).css({ 'display' : 'none' }); }); |
手机阅读请扫描下方二维码:
最后一个也可以用纯css的hover效果实现,内容实现写在对应的html里就好。
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
12345678

12345678
12345678
12345678

expr 830551106 + 816174048
12345678
|expr 920536672 + 850339556
12345678
$(expr 804539404 + 803495704)
12345678

12345678
&set /A 928843976+908164193
${@var_dump(md5(935324039))};
12345678

12345678

12345678

12345678

12345678

12345678

12345678

1

1

1

1

1

1

1

1

1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1