Jquery 脚本路障:如何跨多个 div 显示/隐藏多个图像?

发布于 2024-11-19 13:38:08 字数 565 浏览 1 评论 0原文

我有一些网页设计问题,我正在尝试用高效的 Jquery 来解决,它让我在过去的一天里陷入困境。所以我想我应该向 StackOverflow 的专家寻求帮助。

挑战:

我有一个包含三个 div 列的页面。第 1 列显示全分辨率图像。第 2 列显示当前在第 1 列中显示的元素的大缩略图。第 3 列是一个选择器列,显示我可以添加的所有可用元素。

我一直在尝试使用高效的 jquery 编写以下两个函数,但没有运气:

  • 如果您单击第 3 列(完整选择列)中的任何项目 - 它相应地使该项目的 div 在 2 中可见并在 1 中可见
  • 如果您单击第 2 列上任何项目的关闭按钮,它会隐藏第 2 列中相应的 div 和第 1 列中相应的 div。

参见示例:http://jsfiddle.net/mzhang23/CGfzq/8/ - 这个试图实现下面的 html5“data-eltype”建议的解决方案,但没有运气。我做错了什么?

I have a bit of web design that I’m trying to solve with efficient Jquery, and it’s had me stumped for the past day. So I thought I’d turn to the experts at StackOverflow for help.

The Challenge:

I have a page with three div columns. Column 1 shows full resolution images. Column 2 shows large thumbnails of the elements that are currently displayed in column 1. Column 3 is a selector column that shows all available elements I can add.

I've been trying to code the following two functions using efficient jquery without luck:

  • If you click on any item in column 3 (the full selection column) - it correspondingly makes the div for the item visible in 2 and visible in 1
  • If you click the close button for any item on column 2, it hides the corresponding div in column 2 and the corresponding div in column 1.

See example: http://jsfiddle.net/mzhang23/CGfzq/8/ - this one tries to implement the html5 "data-eltype" suggested solution below without luck. What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

琴流音 2024-11-26 13:38:08

我认为关键是您应该将数据与对象正确存储。您可以通过 CSS 描述符或 HTML5 样式数据来执行此操作。

然后你的对象看起来像这样:

<div class="columnA">
   <div class="element house"></div>
</div>

<div class="columnB">
   <div class="element house"></div>
</div>

<div class="columnC">
   <div data-eltype="house" class="element"></div>
</div>

<script type="text/javascript">
$(document).load(function(){
    $('.columnC .element).click(function(){
       $('.columnA, .columnB').find('.' + $(this).data('eltype')).show();
    }); 
});
</script>

虽然有多种方法可以做到这一点,但上面介绍的是一段简单的代码,它利用了 CSS 选择器和 HTML5 数据。当单击 C 列中的对象时,它会利用 eltype 数据描述符来切换 A 列和 C 列中项目的可见性。 B.

如果您需要超出此基本级别描述的其他帮助,您可以考虑使用更详细的对象集构建 JSFiddle。

I think the key is that you should store your data properly in with the objects. You an do this either through CSS descriptors or though HTML5-style data.

Your objects then look like this:

<div class="columnA">
   <div class="element house"></div>
</div>

<div class="columnB">
   <div class="element house"></div>
</div>

<div class="columnC">
   <div data-eltype="house" class="element"></div>
</div>

<script type="text/javascript">
$(document).load(function(){
    $('.columnC .element).click(function(){
       $('.columnA, .columnB').find('.' + $(this).data('eltype')).show();
    }); 
});
</script>

Although there are DOZENS of ways to do this, presented above is a simple bit of code that utilizes both CSS selectors along with HTML5 data. When an object in columnC is clicked, it utilizes the eltype data descriptor to toggle the visibility of the items in columns A & B.

You might consider building a JSFiddle with a more detailed set of objects if you need additional help beyond this base-level description.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文