我有一个事件监听器,我正在努力工作,似乎无法让它运行。我有一个onclick设置,可以切换提示webkit转换的div类。当转换结束时,我希望jquery将外部页面加载到div中,但它不会加载它。这是我设置的js
<script type="text/javascript">
function fullscreen_slider_load() {
var fullscreen = document.getElementById("fullscreen");
function fullscreen_done1() {
console.log("done called");
fullscreen.removeEventListener("webkitTransitionEnd", fullscreen_done1);
fullscreen.addEventListener("webkitTransitionEnd", fullscreen_done2);
$(function fullscreen_load() {
$('#fullscreen')
.html('<img src="http://www.klossal.com/loader.gif"/>')
.load('http://www.klossal.com/portfolio/space_fullscreen.html');
});
function fullscreen_done2() {
fullscreen.removeEventListener("webkitTransitionEnd", fullscreen_done2);
};
</script>
我不确定为什么它没有加载,但我能得到的任何帮助将非常感激。
答案 0 :(得分:0)
这部分代码对我来说毫无意义,并且与您所说的想要发生的内容不一致。您发布的代码似乎没有适当的支撑:
$(function fullscreen_load() {
$('#fullscreen')
.html('<img src="http://www.klossal.com/loader.gif"/>')
.load('http://www.klossal.com/portfolio/space_fullscreen.html');
});
如果我理解这一点,它会设置一个document.ready()
事件处理程序,用于将新内容加载到#fullscreen
。我认为这不是你想要的。
我也没有看到你添加触发fullscreen_done1()
的事件监听器的任何地方,我没有看到fullscreen_done2()
事件监听器的任何原因,因为它没有在这里使用。 / p>
如果您只是希望全屏对象在第一次CSS转换完成后加载一些新内容并且您已注册将在其他地方调用fullscreen_done1()
的事件侦听器,则可以使用此(固定缩进和支撑) :
<script type="text/javascript">
function fullscreen_slider_load() {
var fullscreen = document.getElementById("fullscreen");
function fullscreen_done1() {
console.log("done called");
fullscreen.removeEventListener("webkitTransitionEnd", fullscreen_done1);
fullscreen.addEventListener("webkitTransitionEnd", fullscreen_done2);
$(fullscreen)
.html('<img src="http://www.klossal.com/loader.gif"/>')
.load('http://www.klossal.com/portfolio/space_fullscreen.html');
}
function fullscreen_done2() {
fullscreen.removeEventListener("webkitTransitionEnd", fullscreen_done2);
}
}
</script>
如果你试图做一些比这更多的事情,那么请说明你在第一次过渡完成后还想做些什么。
P.S。如果不在函数声明下缩进代码,则很容易误解代码的意图。
您的代码也不适用于Firefox或Opera(支持CSS3过渡的非webkit浏览器)。