1

我一直在寻找解决方案,尝试了一些建议,但似乎没有一个适用于我拥有的脚本或无法正确理解解决方案,因此希望有人可以提供帮助。

在 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>

提前致谢!

4

2 回答 2

0

您可以尝试以下方法:

<html>当没有 js 时,将一个类添加到您的标签中作为后备:

<html xmlns="http://www.w3.org/1999/xhtml" class="no-js">

通过将此代码放在行之前,将类替换为no-jsjsi=-700;

var html = document.documentElement;
html.className=html.className.replace(/\bno-js\b/,'') + 'js';

将此添加到您的样式表

html.js #text_box_philosophy{
    bottom: -700px;
}
于 2013-02-18T08:27:15.310 回答
0

您可以将函数附加到主体的加载事件<body onload="f()">并将 div[8] 设置为display: none您的 css 中,然后将其设置为document.getElementsByTagName("div")[8].style.display = "block"in f()

但是,我会强烈考虑使用 jQuery 和该$().animate函数来为 div 设置动画,为 div 分配一个 id(如果div在它之前添加更多元素,您的代码将中断),并使用 jQuery 的$(document).ready()函数来触发初始代码而不是使用<body onload="">. 采取这些步骤将有助于您的代码在多个浏览器中统一执行。

于 2013-02-18T08:13:52.167 回答