• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

基本Js功能可以缩放两个DIV的高度

JavaScript 来源:Romainpetit 3次浏览

我想要#result被缩放到#sidebar如果设置了高度。如果不是,则将#result保留在原始高度。基本Js功能可以缩放两个DIV的高度

我的代码:

window.onload = setDiv; 

function setDiv() { 
    var e = document.getElementById('sidebar'); // Get the sidebar infos 
    var eh = e.offsetHeight // div height 
    if (typeof(eh) == "undefined" || typeof(eh) == null) { // if sidebar isnt in the page 
     alert(eh); 
     return true; 
    } else { 
     var eh = e.offsetHeight // div height 
     var d = document.getElementById('result') // Get the result div height 
     var dh = d.offsetHeight // div height 
     d.style.height = eh + 65 + 'px'; // Set result div height to sidebar height 
     alert(d); 
     document.write(dh); 
     return false; 
    } 
} 

我不认为需要HTML/CSS。

谢谢。


===========解决方案如下:

这将导致一个错误,因为e不存在(还):

var e = document.getElementById('sidebar'); // <<< This is what doesn't work 

这是因为你window.onload不这样做的权利。以括号关:

window.onload = setDiv; 

http://jsfiddle.net/userdude/u8DZx/3/

我想证明这是多么容易在像jQuery库做。 window.onload并不总是按照你所想的方式工作;在jQuery中使用onDomReady$(document).ready()通常会更好。您也可以在页面加载的不同点上添加多个处理程序,使用window.onload方法更加困难。

$(document).ready(function(){ 
    setTimeout(function(){setDiv();},2000); // So you can see the transition 
}); 

function setDiv() { 
    var $sidebar = $('#sidebar'); 
    if ($sidebar.size() === 0) { 
     return true; 
    } else { 
     $('#result').animate({ 
      height : $('#sidebar').height() 
     }, 5000); 
     return false; 
    } 
} 

http://jsfiddle.net/userdude/u8DZx/1/

如果你不想要的效果,只是做:

$('#result').height($('#sidebar').height()); 

如果你实际上意味着使用offsetHeight,它听起来不像这就是你想要(height),你可以这样做:

$(document).ready(function(){ 
    setTimeout(function(){setDiv();},2000); // So you can see the transition 
}); 

function setDiv() { 
    var $sidebar = $('#sidebar'); 
    if ($sidebar.size() === 0) { 
     return true; 
    } else { 
     $('#result').offset($('#sidebar').offset()); 
     return false; 
    } 
} 

http://jsfiddle.net/userdude/u8DZx/2/


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)