Javascript 全局函数无法调用
有人能告诉我我做错了什么吗,我无法让它工作,我已经阅读了10多个堆栈溢出范围的问题,我非常困惑 我的popup.js文件:Javascript 全局函数无法调用,javascript,jquery,html,call,global,Javascript,Jquery,Html,Call,Global,有人能告诉我我做错了什么吗,我无法让它工作,我已经阅读了10多个堆栈溢出范围的问题,我非常困惑 我的popup.js文件: function popupClickGlobal() { window.popupClick = function(){ window.alert("insidePopupClick!!!!"); loading(); // loading setTimeout(function(){ // then show popup, deley in .
function popupClickGlobal()
{
window.popupClick = function(){
window.alert("insidePopupClick!!!!");
loading(); // loading
setTimeout(function(){ // then show popup, deley in .5 second
loadPopup(); // function show popup
}, 500); // .5 second
}
}
$("a.topopup").click(function() {
loading(); // loading
setTimeout(function(){ // then show popup, deley in .5 second
loadPopup(); // function show popup
}, 500); // .5 second
return false;
});
/* event for close the popup */
$("div.close").hover(
function() {
$('span.ecs_tooltip').show();
},
function () {
$('span.ecs_tooltip').hide();
}
);
$("div.close").click(function() {
disablePopup(); // function close pop up
});
$(this).keyup(function(event) {
if (event.which == 27) { // 27 is 'Ecs' in the keyboard
disablePopup(); // function close pop up
}
});
$("div#backgroundPopup").click(function() {
disablePopup(); // function close pop up
});
/************** start: functions. **************/
function loading() {
$("div.loader").show();
}
function closeloading() {
$("div.loader").fadeOut('normal');
}
var popupStatus = 0; // set value
function loadPopup() {
if(popupStatus == 0) { // if value is 0, show popup
closeloading(); // fadeout loading
$("#toPopup").fadeIn(0500); // fadein popup div
$("#backgroundPopup").css("opacity", "0.7"); // css opacity, supports IE7, IE8
$("#backgroundPopup").fadeIn(0001);
popupStatus = 1; // and set value to 1
}
}
function disablePopup() {
if(popupStatus == 1) { // if value is 1, close popup
$("#toPopup").fadeOut("normal");
$("#backgroundPopup").fadeOut("normal");
popupStatus = 0; // and set value to 0
}
}
/************** end: functions. **************/
My index.php代码段:
<script type="text/javascript" src="_script/popup.js"></script>
<script>
if(formPosted) {
window.alert("popupclick!");
$(document).ready(popupClickGlobal);
popupClickGlobal();
}
</script>
如有(表格已张贴){
window.alert(“弹出式单击!”);
$(文档).ready(弹出单击全局);
popupClickGlobal();
}
窗口显示我点击!警报,我不知道如何调用全局变量(似乎没有什么地方非常清楚。我还尝试了$.popupClickGlobal();来调用它。我期待在警报后出现第二个警报,说insidePopuoClick
请帮忙,谢谢。
Chris
popupClickGlobal
不是全局变量。它是声明它的dom就绪处理程序的本地变量
由于函数
popupClickGlobal
将在全局范围内使用,因此只需删除它周围的jQuery(function(){…})
包装器即可
function popupClickGlobal() {
window.popupClick = function () {
window.alert("insidePopupClick!!!!");
loading(); // loading
setTimeout(function () { // then show popup, deley in .5 second
loadPopup(); // function show popup
}, 500); // .5 second
}
}
尝试在popup.js中只放置下面的代码
function popupClickGlobal()
{
window.popupClick = function(){
window.alert("insidePopupClick!!!!");
loading(); // loading
setTimeout(function(){ // then show popup, deley in .5 second
loadPopup(); // function show popup
}, 500); // .5 second
}
}
popupClickGlobal
不是全局的(它是domready处理程序的本地),并且永远不会被调用。popupClick
应该是全局的。我附加了修改过的js文件,但没有jquery,但它似乎仍然不起作用。我附加了完整的js文件