2013-07-09 44 views
0

我使用JavaScript和jQuery创建使用I帧的绝对位置,使它们并排显示水平滚动的iframe文档。我使用基于的jsfiddle我发现显示元素的共同ORDS在屏幕的左上方的一个简短的脚本,他们改变,因为页面滚动。我已经创建了自己的实现这一点,并试图得到它的工作,但我发现了一个错误,当我打开该网站告诉我,一个未定义的变量的顶级物业不能被读取,即使第一件事,我做正在定义它。我看我所有的代码,我不明白为什么这会是这样,我已经得到了正确的jQuery脚本添加的,我定义变量它被使用之前作为是常态。我立足这一关的小提琴可以在这里找到:http://jsfiddle.net/hxRPQ/22/jQuery的偏移性不可读错误

的HTML我有:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Test 33</title> 
    <link href="base.css" rel="stylesheet" type="text/css"> 
    <script src="./jquery/jquery.min.js" type="text/javascript"></script> 
    <script src="./jquery/jquery-ui.js" type="text/javascript"></script> 
    <script src="scroll.js" type="text/javascript"></script> 
</head> 
<body> 
    <div class="iFCont"> 
     <iframe src="./HTMLFiles/07.html" class="iF" id="if1" style="left: 5px;"></iframe> 
     <iframe src="./HTMLFiles/08.html" class="iF2" id="if2" style="left: 1010px;"></iframe> 
     <iframe src="./HTMLFiles/09.html" class="iF2" id="if3" style="left: 2015px;"></iframe> 
    </div> 
    <div class="output"></div> 
</body> 
</html> 

JS文件:

function scroll() 
{ 
    var if1 = $("if1"); 
    var ofs = if1.offset(); 
    var posX = ofs.top - $(window).scrollTop(); 
    var posY = ofs.left - $(window).scrollLeft(); 
    $(".output").text("top:" + posY + ", left:" + posX); 
} 

$(document).ready(function a() 
{ 
    $(window).scroll(scroll); 
}); 

和我的CSS以供参考:

body 
{ 
    overflow-x: scroll; 
    overflow-y: scroll; 
} 
.iF 
{ 
    width: 1000px; 
    height: 1350px; 
    position: absolute; 
} 
.iF2 
{ 
    width: 1000px; 
    height: 1350px; 
    position: absolute; 
} 
.iFCont 
{ 
    display: inline-block !important; 
    overflow-x: hidden !important; 
} 
.output 
{ 
    position: fixed; 
    top: 0px; 
    left: 0px; 
} 

回答

2

你需要修复您的选择:

var if1 = $("if1"); // Look for 'if1' tag 

应该是:

var if1 = $("#if1"); // Look for an element with 'if1' id 
+0

感谢这个,一个同事刚刚指出了这一点给我的。对于所有这些jQuery的东西仍然是新的,我对自己愚蠢的错误视而不见。 – AlexEve