急!关于一个后退按钮函数中的三个问题,求大神解答!!!

HTML结构:

<div onclick="xxx()">

<section id="wrapper">

<div class="back" onClick="backpage(this)"></div>

</section>

</div>

JS代码:

function backpage(obj,e){

window.event? window.event.cancelBubble = true : e.stopPropagation();

obj.parentNode.style.opacity="0";

obj.parentNode.style.display='none';

window.history.back(-1);

}

--------------------------------------------------------------

第一个问题是在firefox中会报错,说函数内容第一排的e未定义;

                     而在其它浏览器中正常,这是为什么?

第二个问题是如果写成 setTimeout("obj.parentNode.style.opacity=0",100);

                     执行的时候会报错不能将style用在未定义的对象上;

                     为什么会这样?

第三个问题是在IE中 window.history.back(-1) 只有在鼠标离开浏览器可视窗口区域时才会执行;

                     如何让他立马执行?

小弟刚接触JS,有许多不懂的东西,求大神解答!!!

----------------------------------------------------------------

第一个问题已解决,需要用一个函数来得到点击事件,然后赋值给e

第二个问题已解决,setTimeout的执行环境是window

第三个问题已解决,这是IE的设定

Ani_fan
浏览 1328回答 1
1回答

习惯受伤

问题有点多,其实后退功能很简单,onclick="javascript:history.back()"即可。问题主要是:1,history.back函数里不用给值。而换成history.go的时候,-1就是后退。2,setTimeOut函数第一个参数是一个function,而不是字符串。
打开App,查看更多内容
随时随地看视频慕课网APP