Here is a jsFiddle with my code
如您所见,文本区域的高度完美地返回.但这是因为文本区域不是字体 – 面部模式.
在我的网站上,文本是font-face生成的,但它在font-face加载之前得到了高度,因为一旦你将div悬停一次并且第二次迭代运行,它就会返回正确的高度.
所以jQuery的高度是有效的,但只有在网站完全加载了font-face之后.
有没有解决这个问题?
谢谢你的任何指示.
简单的标记
<div class="home-mod"> <div class="mod-center"><img ... /></div> <div class="mod-info"> <!-- this is the slider,slides up when .mod-info is hovered --> <a class="mod-link" href="..." title="test">DYNAMIC FONT-FACE TEXT HERE</a> <div class="mod-excerpt"> DYNAMIC norMAL TEXT HERE </div> </div> </div>
当前的脚本 – 完整的工作完美,当文本不是前面的时候
$(function() { // positioning the current div.mod-info inside current div.home-mod $(".home-mod").each(function() { // this finds the div.mod-link height,and assigns var to div.mod-info top position var moduleLink = $(this).find(".mod-link").height(),modulePlus = moduleLink+20; $(this).find('.mod-info').css("top","-" + modulePlus + "px"); }); // animating current div.mod-info to new top position $("div.mod-info").hover(function() { // first iteration // getting dynamic overall height of div.mod-info and animate to var moduleInfo = $(this).height(); // this then animates to new position $(this).animate({ top: "-" + moduleInfo + "px" }); },function() { // second iteration // returns back to original postion var moduleLink = $(this).find(".mod-link").height(),modulePlus = moduleLink+20; $(this).animate({ top: "-" + modulePlus + "px" }); }); // this justs finds the link and in .home-mod and make its clickable $(".home-mod").click(function() { window.location = $(this).find("a.mod-link").attr("href"); return false; }); });
更新 – 已解决
$(window).load(function(){ // my script here... });
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。