html - 使用 html、css 切换每个 div 标签的可见性的最简单幻灯片

标签 html css slideshow

我有几个包含简单 html/css 内容的 div 标签,我需要一种简单的方法让观众点击链接“幻灯片 1”,该幻灯片的第一个 div 标签变为可见,然后他们点击幻灯片 2,然后点击第二个div标签可见,等等。

我尝试在 Dreamweaver 中使用时间轴,但这似乎有点矫枉过正而且太复杂了。引入整个 YUI 库也是如此。我们只需要一种基本的蛮力方法,即在单击链接时使可见/不可见。

所以设置是

     <LINK_SLIDE1>  <LINK_SLIDE2>  <LINK_SLIDE3>
<div class="slide" id="slide1">
  <p>Welcome etc etc etc</p>
</div
<div class="slide" id="slide2">
  <p>Overview etc etc etc</p>
</div
<div class="slide" id="slide3">
  <p>Summary etc etc</p>
</div

我正在寻找一些关于如何实现链接以打开/关闭每个 div 标记的可见性的提示。我担心的一个问题是,如果用户没有启用 javascript,我们是否也可以处理这种情况。

最佳答案

用户点击链接时的基本流程应该是:

  1. 隐藏类为“slide”的所有 div。
  2. 显示 ID 为“slideX”的 div(其中 X 由点击的链接决定)。

您可以通过向每个链接添加事件监听器来实现此目的,然后确定点击了哪个链接,显示了哪张幻灯片。对于此类问题,在链接中使用 rel 属性是一种快速存储此信息的方法。

这是一个不使用任何框架的例子,我还没有测试过它。仅举个例子。

var slides = document.getElementsByClassName('slide');
function showSlide(e) {
    var toShow = e.target.getAttribute('rel');
    for (var i = 0, len = slides.length; i < len; i++) {
        slides[i].style.display = 'none';
    }
    document.getElementById(toShow).style.display = 'block';
    e.preventDefault();
    return false;
}

var links = document.getElementsByClassName('slide-link');

for (var i = 0, len = links.length; i < len; i++) {
    links[i].addEventListener('click', showSlide, false);
}

以及与之配套的 HTML 示例:

<a href="#" class="slide-link" rel="slide1">Welcome</a>
<a href="#" class="slide-link" rel="slide2">Overview</a>

<div class="slide" id="slide1">
    <p>Welcome etc etc etc</p>
</div>
<div class="slide" id="slide2">
    <p>Overview etc etc etc</p>
</div>

希望这能让您走上正轨。

关于html - 使用 html、css 切换每个 div 标签的可见性的最简单幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5073166/

相关文章:

javascript - 在元素上具有不同动画的 jQuery 幻灯片

HTML 问题 : multiple Divs float

css - 如何在此 CSS 网格中将内容放置在标题的左侧和右侧?

javascript - 允许在不同屏幕尺寸的菜单上显示和隐藏的功能

html - 600 像素宽的页面在 640 像素宽的移动屏幕上显示不全

不使用包装元素的 JavaScript 幻灯片画廊?

css - 如何将自定义 CSS 图像添加到 Squarespace 中给定文本层后面的目标背景?

javascript - 具有两种不同布局的 Angular Js 应用程序

javascript - 如何计算 JQuery、javascript、HTML5 中二进制数据的 CRC?

jquery - 悬停开始一个简单的幻灯片