Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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 Popup.js不工作_Javascript_Jquery - Fatal编程技术网

Javascript Popup.js不工作

Javascript Popup.js不工作,javascript,jquery,Javascript,Jquery,我的HTML是这样的 <div class="container"> <p>MANHATTAN ...<a href="#" class="poper">Read More</a></p> <p class="popup" style="display:none" >some text</p> </div> <div class="container

我的HTML是这样的

<div class="container">
          <p>MANHATTAN ...<a href="#" class="poper">Read More</a></p>
          <p class="popup" style="display:none" >some text</p>
  </div>
 <div class="container">
          <p>washington...<a href="#" class="poper">Read More</a></p>
          <p class="popup" style="display:none" >some text 2</p>
  </div>
 <script type="text/javascript" xmlns:exslt="http://exslt.org/common">
        $(function(){
        $('.poper').popup({
             content : $(this).parents('.container').find(".popup")
           });
    });
 </script>

曼哈顿

一些文本

华盛顿

一些文本2

我用这个做一个弹出窗口

<div class="container">
          <p>MANHATTAN ...<a href="#" class="poper">Read More</a></p>
          <p class="popup" style="display:none" >some text</p>
  </div>
 <div class="container">
          <p>washington...<a href="#" class="poper">Read More</a></p>
          <p class="popup" style="display:none" >some text 2</p>
  </div>
 <script type="text/javascript" xmlns:exslt="http://exslt.org/common">
        $(function(){
        $('.poper').popup({
             content : $(this).parents('.container').find(".popup")
           });
    });
 </script>

$(函数(){
$('.poper')。弹出窗口({
内容:$(this.parents(“.container”).find(“.popup”)
});
});
但它不起作用。有人能指出我做错了什么吗

注意:已经添加了对Jquery和弹出式JS的引用。这里没有显示


这就是你应该说的:

$('.poper').popup({
    content : function(e){
        return $(this.ele).closest('.container').find(".popup").text()
    }
});
问题是选择器中“this”关键字的值

$(this).parents('.container').find(".popup")
由于Popup.js插件的工作原理,当用户单击链接时,“this”的值是Popup对象,而不是单击的链接。例如,如果在小提琴上添加console.log行

content : function(){
    console.log(this);
    $(this).parents('.container').find(".popup")
}
然后单击链接,弹出窗口将记录在控制台中,而不是链接元素中。因为“this”不是您期望的点击链接,所以您的JS找不到.popup元素

Popup.js将Popup触发器元素的引用保留为this.ele。因此,如前所述更改init函数,它就会工作


关于POPUP.JS的更多详细信息

插件文档并没有告诉你它应该告诉你的那么多,所以如果其他人发现它们有用,这里有一些更多的细节:

插件以更基本的形式请求链接的href属性中的任何内容,并将其显示在弹出窗口中

使用弹出页面中的此示例

将在弹出窗口中打开占位符图像

类似地,这个例子

http://toddish.co.uk
并将结果加载到弹出窗口中

但是,当您提供带有href属性的Popup.js链接时,您需要以另一种方式提供内容

在这种情况下,您可以在“内容”选项的popup()初始化中传递内容。例如,您可以创建一个匿名函数,该函数将字符串返回到“content”。这项工作:

$('.popupContent').popup({
    content : function(){
        return 'Hello World';
    }
});
如果添加类型选项以设置内容类型,还可以将所需内容指定为字符串:

$('.html_popup').popup({
  content : '<h1>This is some HTML</h1>',
  type : 'html'
});
Popup.js将获取隐藏元素的内容,并在用户单击时显示在弹出窗口中


看起来像一个不错的脚本,开发人员只是没有解释一切

已经添加了对Jquery和弹出式JS的引用。CSS文件呢?如果不工作太广泛,请查看您的控制台所说的内容,并在此处发布错误。请创建您的JSFIDLE,以便我们可以解决您的问题problem@NiravPrajapatiFiddle是made@Mr.Alien CSS也被添加。控制台没有显示任何错误。我现在做了一把小提琴。请检查一下,这个问题有点笼统,但有一个明确的解决方案-Athul只需要按照我的建议更改他的弹出初始化函数,原因我提到过。
$('.poper').popup();