Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery显示隐藏的DIV(不工作)_Javascript_Jquery_Overlay_Show - Fatal编程技术网

Javascript 使用jQuery显示隐藏的DIV(不工作)

Javascript 使用jQuery显示隐藏的DIV(不工作),javascript,jquery,overlay,show,Javascript,Jquery,Overlay,Show,语言:jQuery/Javascript/PHP 我试图显示一个隐藏的DIV一旦用户点击一个链接 根据href标记中附加的数据操作中的值,应该执行3种类型的操作 它有3个可能的值: 摇动 弹跳 默认值(我的问题) 现在使用开关,我在Javascript代码中切换这些操作 我的问题是,我无法显示我试图指向的隐藏div(默认值下的代码是我遇到问题的地方) jsIDLE:(问题从第59行开始) 正在使用的Javascript代码: 函数loadBubbleActions(){ $('#contai

语言:jQuery/Javascript/PHP

我试图显示一个隐藏的DIV一旦用户点击一个链接

根据
href
标记中附加的
数据操作
中的值,应该执行3种类型的操作

它有3个可能的值:

  • 摇动
  • 弹跳
  • 默认值(我的问题)
现在使用开关,我在Javascript代码中切换这些操作

我的问题是,我无法显示我试图指向的隐藏div(默认值下的代码是我遇到问题的地方)

jsIDLE:(问题从第59行开始)

正在使用的Javascript代码:

函数loadBubbleActions(){
$('#container>a')。每个(函数(){
开关($(this.attr('data-action')){
案例“摇晃”:
//将震动动作绑定到气泡上
$(此).live(“单击”),函数(e){
var props=$.parseJSON($(this.attr('data-action-properties'));
var ox=$(this.css('left')。replace('px','');
var oy=$(this.css('top').replace('px','');
如果($('#tae')。长度==0){
var overlay=jQuery(“”);
overlay.appendTo(document.body)
$(document.body).append('Info go here');
$(“#覆盖”)。单击(函数(){
$(“#覆盖”).remove();
$('#tae')。删除();
});
var cssWidth=($(this.css('width').replace('px',''))/2-20);
var cssHeight=($(this.css('height').replace('px',''))/2-20);
var ss=($(窗口).width()/2);
var dd=($(窗口).height()/2);
$('#tae').css('left',(ss-cssWidth)+“px”);
$('#tae').css('top',(dd-cssHeight)+“px”);
$('#tae')。效果(“摇晃”{
次数:5次
}, 500);
}否则{
$('#tae')。效果(“摇晃”{
次数:5次
}, 500);
}
});
打破
案例“反弹”:
//在这里做一些具体的动作
$(此).live(“单击”),函数(e){
警报(“这是一个跳转帖子”+$(This.attr('data-link'));
});
打破
违约:
//在此处执行默认操作代码
$(此).live(“单击”),函数(e){
divID=$(this.attr('id');
var props=$.parseJSON($(this.attr('data-action-properties'));
var act=$(this.attr('data-action');
var ox=$(this.css('left')。replace('px','');
var oy=$(this.css('top').replace('px','');
如果($('.panda')。长度==0){
$(“#theDIV-”+divID).show();
$(“#覆盖”).show();
$(“#覆盖”)。单击(函数(){
$(“#覆盖”).remove();
$('.panda').remove();
});
var cssWidth=($(this).css('width').replace('px','')/2+400);
var cssHeight=($(this.css('height').replace('px',''))/2-20);
var ss=($(窗口).width()/2);
var dd=($(窗口).height()/2);
$('.panda').css('left',(ss-cssWidth)+“px”);
$('.panda').css('top','100px');
}否则{
//$(#tae').effect(“shake”,{times:props.shakeNumber},200);
}
});
}
});
}
我真的希望有人能帮上忙,我整晚都在挑剔这件事,我真的需要指导。非常感谢您抽出时间

再一次,为了您的方便,这里有一个JSFIDLE--
JSfiddle:(问题从第59行开始)

当您使用CSS选择器字符串以外的任何内容生成jQuery对象时,您不能使用
.live()
。就是

$(this).live(whatever)
这是行不通的。(事实并非如此;
.live()
如果您试图委托,那么在没有选择器字符串的情况下是不起作用的,但是当处理程序直接位于元素上时,它就起作用了。这种情况仍然有点奇怪,
.live()
无论如何都不推荐:-)

此外,您似乎希望通过查看单击的元素的“id”值来查找
。这没有多大意义,因为你不能给两个不同的元素赋予相同的“id”(你可以,但事情不太好)。无论如何,您都没有给
标记一个“id”值。(编辑-现在我明白了;您正在使用
上的“id”作为
的“id”的一部分。但是,
元素上没有“id”。)

这段代码中确实有很多错误。我认为您应该从简单得多的内容开始,然后再进一步工作。

当您使用CSS选择器字符串以外的任何内容生成jQuery对象时,您不能使用
.live()
。就是

$(this).live(whatever)
这是行不通的。(事实并非如此;
.live()
如果您试图委托,那么在没有选择器字符串的情况下是不起作用的,但是当处理程序直接位于元素上时,它就起作用了。这种情况仍然有点奇怪,
.live()
无论如何都不推荐:-)

此外,您似乎希望通过查看单击的元素的“id”值来查找
。这没有多大意义,因为你不能给两个不同的元素赋予相同的“id”(你可以,但事情不太好)。无论如何,您都没有给
标记一个“id”值。(编辑-现在我明白了;您正在使用
上的“id”作为
的“id”的一部分。但是,
元素上没有“id”。)

这段代码中确实有很多错误。我认为你应该从简单得多的事情做起,然后再开始工作。

你正在这样做

if ($('.panda').length==0) {
      $("#theDIV-" + divID).show();
但是
$('.panda')。length
返回1,因为

<div class="panda hiddenDIV" id="theDIV-77" style="position:absolute;z-index:12000;">This is the content</div>
这是内容
存在,因此操作