gpt4 book ai didi

javascript - 在 fancybox 中使用 jQuery quicksand 的问题

转载 作者:搜寻专家 更新时间:2023-10-31 22:33:55 24 4
gpt4 key购买 nike

我正在使用这个流沙 jQuery 示例。

Making a Beautiful HTML5 Portfolio

现在,我想在点击图片时打开灯箱。为此,我正在使用 fancybox jQuery。但问题在于制作漂亮的 HTML5 作品集(quicksand jQuery)示例图像在 <Ul> <LI> 中标记,当在 fancybox jQuery 示例中有 <p>标记。

我无法选择 ul li 之间的 anchor 标记。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />

<title>Making a Beautiful HTML5 Portfolio | Tutorialzine Demo</title>

<!-- Our CSS stylesheet file -->
<link rel="stylesheet" href="assets/css/styles.css" />

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script>
!window.jQuery && document.write('<script src="assets/js/jquery-1.4.3.min.js"><\/script>');
</script>

<script src="assets/js/jquery.quicksand.js"></script>
<script src="assets/js/script.js"></script>

<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<link rel="stylesheet" type="text/css" href="./fancybox/style.css" />
<script type="text/javascript">
$(document).ready(function() {

$("a#example2").fancybox({
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
$("ul li a#example2").fancybox({
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});


});
</script>
</head>

<body>

<header>
<h1>My Portfolio</h1>
</header>

<nav id="filter"></nav>

<section id="container">
<p>
<a id="example2" href="assets/img/shots/1.jpg"><img src="assets/img/shots/1.jpg" alt="Illustration" /></a>
</p>
<p>
<ul id="stage">
<li data-tags="Print Design"><a id="example2" href="#"><img src="assets/img/shots/1.jpg" alt="Illustration" /></a></li>
<li data-tags="Logo Design,Print Design"><img src="assets/img/shots/2.jpg" alt="Illustration" /></li>
<li data-tags="Web Design,Logo Design"><img src="assets/img/shots/3.jpg" alt="Illustration" /></li>
<li data-tags="Web Design,Print Design"><img src="assets/img/shots/4.jpg" alt="Illustration" /></li>
<li data-tags="Logo Design"><img src="assets/img/shots/5.jpg" alt="Illustration" /></li>
<li data-tags="Web Design,Logo Design,Print Design"><img src="assets/img/shots/6.jpg" alt="Illustration" /></li>
<li data-tags="Logo Design,Print Design"><img src="assets/img/shots/7.jpg" alt="Illustration" /></li>
<li data-tags="Web Design"><img src="assets/img/shots/8.jpg" alt="Illustration" /></li>
<li data-tags="Web Design,Logo Design"><img src="assets/img/shots/9.jpg" alt="Illustration" /></li>
<li data-tags="Web Design"><img src="assets/img/shots/10.jpg" alt="Illustration" /></li>
<li data-tags="Logo Design,Print Design"><img src="assets/img/shots/11.jpg" alt="Illustration" /></li>
<li data-tags="Logo Design,Print Design"><img src="assets/img/shots/12.jpg" alt="Illustration" /></li>
<li data-tags="Print Design"><img src="assets/img/shots/13.jpg" alt="Illustration" /></li>
<li data-tags="Web Design,Logo Design"><img src="assets/img/shots/14.jpg" alt="Illustration" /></li>
<li data-tags="Print Design"><img src="assets/img/shots/15.jpg" alt="Illustration" /></li>
<li data-tags="Logo Design"><img src="assets/img/shots/16.jpg" alt="Illustration" /></li>
<li data-tags="Web Design,Logo Design,Print Design"><img src="assets/img/shots/17.jpg" alt="Illustration" /></li>
<li data-tags="Web Design"><img src="assets/img/shots/18.jpg" alt="Illustration" /></li>
<li data-tags="Web Design,Print Design"><img src="assets/img/shots/19.jpg" alt="Illustration" /></li>
<li data-tags="Logo Design,Print Design"><img src="assets/img/shots/20.jpg" alt="Illustration" /></li>
<li data-tags="Web Design,Logo Design"><img src="assets/img/shots/21.jpg" alt="Illustration" /></li>
<li data-tags="Print Design"><img src="assets/img/shots/22.jpg" alt="Illustration" /></li>
<li data-tags="Logo Design,Print Design"><img src="assets/img/shots/23.jpg" alt="Illustration" /></li>
</ul>

</section>

<footer>
<h2>Making a Beautiful HTML5 Portfolio</h2>
<a class="tzine" href="http://tutorialzine.com/2011/06/beautiful-portfolio-html5-jquery/">Read &amp; Download on</a>
</footer>



</body>
</html>

在此代码中,P 标签中的图像适用于花哨的框,但在 ul li 标签中则不然。

我觉得问题出在这里

<script type="text/javascript">
$(document).ready(function() {

$("a#example2").fancybox({
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
$("ul li a#example2").fancybox({
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});


});
</script>

完整代码 http://fyels.in/Y95

最佳答案

已修复。

fancybox 不想在您的代码中使用 quicksand 的主要原因是因为 quicksand 插件的工作方式。流沙所做的(为了在重组可见结构时为元素设置动画)是克隆元素并将这些元素的副本注入(inject) DOM。洗牌完成后,附加到这些元素的任何事件都将消失。这就是为什么 fancybox 不适用于这些元素。

quicksand plugin documentation 中描述了修复此问题的方法(“与其他插件集成”部分)。它涉及将回调函数作为第二个元素传递给流沙。该回调将在洗牌完成后执行,在我们的例子中,它将负责查找并重新应用 fancybox 到被洗牌的元素。

这是将流沙与 fancybox 结合使用的工作示例:http://jsfiddle.net/E2vLq/29/

请注意有关代码的两点:

  • LI 中的所有链接现在都有 fsand 类(因此我们不会一遍又一遍地使用相同的 ID)。
  • 将回调传递给将 fancybox 重新应用到与 a.fsand 选择器匹配的所有元素的流沙。

除此之外,还有另外两个问题:

  • 对同一站点上的两个元素使用相同的 id(根据 html 规范,这在一般情况下是被禁止的)。
  • 您未能在 UL 之后关闭段落元素。

关于javascript - 在 fancybox 中使用 jQuery quicksand 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8048063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com