【发布时间】:2013-02-18 07:33:05
【问题描述】:
我一直在寻找解决方案,尝试了一些建议,但似乎没有一个适用于我拥有的脚本或无法正确理解解决方案,因此希望有人可以提供帮助。
在 head 标记中,我有下面的 javascript 脚本。它将页面上的第 8 个 div 从底部向上滑动到页面中。但是,当您访问该页面时,您可以快速浏览一下该 div(文本块)在其结束位置的内容,然后再滑入该页面。如何摆脱这种快速预览并在加载主图像时让文本块 div 滑入?
网站链接:http://www.estilosalon.com.au/estilo-salon-philosophy2.html
<script type="text/javascript">
i=-700;
var c;
function f(){
c=setInterval(function(){inv()},5)
}
function inv()
{
if(i!=0)
{
i+=5;
document.getElementsByTagName("div")[8].style.bottom=i+"px";
}
else
{
clearInterval(c);
document.getElementsByTagName("button")[0].parentNode.removeChild(document.getElementsByTagName("button")[0]);
}
}
</script>
提前致谢!
【问题讨论】:
-
你控制标记吗?通过
id而不是通过页面中的计数来获取 div 可能会更好。 -
你可以在 javascript 接触它之前让它不可见。还可以考虑将脚本移到元素之后,这样您就不必使用等待循环。
-
也许在动画之前为 div 设置简单的
bottom: -700px;...已经有一个内联的style属性,这是个好地方。 -
刚试了-700px;你提姆的建议,这似乎行得通。我已将您的更改上传到 estilosalon.com.au/estilo-salon-philosophy3.html。也许我会选择这个选项,因为涉及的代码比 darshanags 的建议少。不过,很好奇 class="no-js" 作为标准包含在任何网页中是否是件好事?
-
感谢 Jacob 的建议,虽然我不知道如何在 Javascript 中更改它以反映这一点,但我也想到了这一点。看起来我已经为我的问题找到了一些很好的解决方案,但无论如何谢谢。 Jan,我尝试将脚本放在代码的末尾,但这似乎没有奏效。不知道如何在 Javascript 触及它之前进行隐藏,也不确定等待循环的事情,从其他地方得到这个 javascript,我自己没有写。谢谢
标签: javascript html settimeout delay pageload