编程语言
首页 > 编程语言> > JavaScript-使用纯CSS3进行键盘导航

JavaScript-使用纯CSS3进行键盘导航

作者:互联网

有没有一种方法可以将键盘导航添加到仅包含CSS3的链接,而无需js或任何js库?具体来说,我用一堆图像创建了一个纯css3灯箱效果,但是我想使用左右键在图像之间导航,而无需单击屏幕上的任何位置,而是使用转义来获得“取消”按钮的效果(类似于“关闭”)

解决方法:

级联样式表实际上是不可能的,您可以为序列设置动画时间或使用CSS进行动画,过渡等操作,但是您不能只使用CSS做!

原因

>级联样式表用于制作页面而不是UX的视觉元素
> CSS没有与键盘交互的方法.

您可以添加一些javascript来实现此目的.但是,由于您不想使用javascript,因此会陷入困境!

复选框黑客

使用复选框单选框是可以实现的,但是最初还是要重点关注
需要带上.可以使用自动对焦属性..

因此,这个小提琴应该可以解决您的问题.

http://jsfiddle.net/darkyen/NUtnX/

但我想在手之前警告您任何“模糊”都会导致此操作失败.所以下面列出了更好的javascript代码变体

JavaScript代码

用于实现所需功能的javascript代码将包含非常少的javascript
说您的标记是
 

因此,您只需分配一个lil javascript

(function(){
 var slide = 0,  // Current slide 
     max   = 10, // Maximum Number of slides
 ele = document.getElementById("show");
     document.addEventListener('keydown',function(e){
          e.preventDefault();
          e.stopPropagation(); // To stop more event stuff and default behaviour
          key = e.keyCode; // To find out what key is this 
          if( key === 39 ){
              // Right arrow 
              // Aha we incremented the value!
              slide++;
              slide %= (max+1);
              // Increase the value of slide by 1 and keep em in limits
          }else if( key === 37){
              slide = (--slide >= 0)?slide: ( slide + max );
              // Will decrement the slide value by 1 and if they are less then 0 then   will cycle it to the last slide 
          }  

          ele.className.replace(/slide[0-9]/gi,'slide'+slide);                 
          // wasn't hard now was it ?     
     });
 })();

上面最小的JavaScript将完成更改幻灯片的任务,或者您始终可以看到impress.js的源代码

标签:lightbox,css3,keyboard,navigation,javascript
来源: https://codeday.me/bug/20191201/2078699.html