$(document).ready(function(){
var ofh=$(window).height();
var ofw=$(window).width();
$('#bottomBody').height(parseInt(ofh) - 125 );
$('#bottomBody').width(parseInt(ofw) - 5 );
});
$(function(){
$(window).resize(function() {
var ofh=$(window).height();
var ofw=$(window).width();
$('#bottomBody').height(parseInt(ofh) - 125 );
$('#bottomBody').width(parseInt(ofw) - 5);
});
$("#topMenu ul li").click( function(){
var indexId =$(this).index();
$(this).addClass('tabCur').siblings().removeClass('tabCur');
$("#bottomBody>div").eq(indexId).addClass('cur').siblings().removeClass('cur');
});
});
有重复代码,jquery对象建议复用。
$(function(){ var $bottomBody = $('#bottomBody'); $(window).resize(function() { var $window = $(window); var ofh = $window.height(); var ofw = $window.width(); $bottomBody .height(parseInt(ofh, 10) - 125) .width(parseInt(ofw, 10) - 5); }) .resize(); //手动触发一次。 $('#topMenu ul li').click(function(){ var $this = $(this); var indexId = $this.index(); $this.addClass('tabCur').siblings().removeClass('tabCur'); $('#bottomBody>div').eq(indexId).addClass('cur').siblings().removeClass('cur'); }); });
你好,谢谢你的回答。我看了之后还有一些不明白
ready方法哪里去了,还有
$bottomBody
.height(parseInt(ofh, 10) - 125)
.width(parseInt(ofw, 10) - 5);是什么用法。。不懂~~求教
@无敌气质帅气男:
$(function(){ }); 等价于: $(document).ready(function(){ });
@幻天芒: thanks
上面這塊是bottomBody根據屏幕的寬高修改標籤的寬高
下面應該是個菜單選中的單擊事件
ready和resize事件触发时设置bottomBody的高度为窗口高度-125 宽度为窗口宽度-5
下面那个click是点顶部菜单的选项时更改菜单和bottomBody的样式
ready和resize事件绑定的函数是一样的,所以可以写成单独的函数。
实现功能1: 元素 bottomBody 的大小 会随着浏览器窗口大小所变化,变化规律是 bottomBody的高始终是浏览器窗口可视区的高 -125 ,宽是浏览器可视区的宽度-5.
功能2 : 菜单的点击效果变化 ,至于具体怎么变化 你要自己看。
缺陷:1. 代码很明显重复了一段 ,你在 Ready里面执行的代码 和 resize () 执行的代码是一样的 ,为什么不提取出来 ?
2. 取到的高度和宽度 为什么要用parseInt,你把$(window).height() 这个值打出来看看