JS实现点击按钮图片左右切换、点击图片按钮出现下拉菜单

前天帮人做个网页作业,大概要求就是使用两个按钮控制图片的切换,在页面右上角出现一个图片按钮,点击这个按钮出现下拉菜单。
第一个要求还是很简单的,第二个多花了我几个小时的时间,因为我只做过select下拉菜单,这种使用图片按钮的还真没整过。不过后来找到一种方法就是对下拉菜单单独放置一个div,设置style=“display:none”,当点击图片按钮的时候更改style="display:block"这样就实现了要求。
请看下图的展示:

要求
【注】制作这种GIF的方法文章: FFmpeg常用命令记录(1):录取屏幕、剪切视频、将视频转化为GIF

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>guoliangzuoye</title>
</head>
<!--加入js-->
<script language="javascript">
<!--控制图片顺序播放的程序-->
var picArr=new Array("1.jpg","2.jpg","3.jpg");
var index=0;
function next(){
    index++;
    if(index==picArr.length){
        index=0;
        }
    document.getElementById("imgp").src=picArr[index];
    }
function previous(){
    index--;
    if(index<0){
     index=picArr.length-1;
     }
    document.getElementById("imgp").src=picArr[index];
    }
<!--控制MENU按钮打开下拉菜单的程序-->	
function test()     
    {     
        var order = document.getElementById("order");  
          
          
        if (order.style.display=="none")     
        {     
              
            order.style.display="block";   
              
        } 
		else {order.style.display="none"; } 
		
          
        var orderUser = document.getElementById("orderUser");  
        orderUser.style.display="block";
    }      
</script>

<!--加入css-->
<style type="text/css">              
    #div1 {width:473px;height:257px;border:0px;}
	#imgp {width:473px;height:257px;}
	 <!--对body设置为相对布局-->
	body{position: relative;}  
   
   :focus {
    outline: 0;  <!--点击按钮的时候就不会有蓝色边框-->
   }
	
    #order {position: absolute;top: 80px;right: 10px;}
    #orderUser {position: absolute;top: 20px;right: 30px;}
    #div1 {position: absolute;top: 377px;left: 426px;}
	#div2 {position: absolute;top: 440px;left: 290px;}
	#div3 {position: absolute;top: 440px;left: 920px;}
	#div4 {position: absolute;top: 599px;right: 10px;}
	#div5 {position: absolute;top: 50px;right: 126px;}
</style>

<body background="beijing.jpg">
<input id="orderUser" type="image" src="44.jpg" "test();">  
<div id="order" action="/order.action" style="display:none" >
    <ul style="list-style-type:none" class="dropdown-menu">
		<li><a href="#">HOME</a></li>
		<li><a href="#">ABOUT</a></li>
		<li><a href="#">ALBUM</a></li>
		<li><a href="#">MESSAGE</a></li>
	</ul>	   
  </div>
 
<div id="div1">
    <img src="1.jpg" id="imgp" />
    </br>
  </div>

<div id="div2">
    <input type="image" src="btn1.png" "next()" />
  </div>

<div id="div3">
    <input type="image" src="btn2.png" "previous()" />
  </div>


<div id="div4">
    <input type="image" src="11.jpg"/>
	<input type="image" src="22.jpg"/>
	<input type="image" src="33.jpg"/>
  </div>

</body>

</html>


【点击图片直达】

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现菜单显示更多的功能,你可以使用JavaScript来控制元素的显示和隐藏。以下是一个示例代码: ```html <div class="dropdown"> <button class="dropdown-toggle" type="button" data-toggle="dropdown"> 下菜单 </button> <ul class="dropdown-menu"> <!-- 这里放一级标题 --> <li><a href="#">标题1</a></li> <li><a href="#">标题2</a></li> <!-- 如果一级标题超过两个,则显示“查看剩余标题” --> <!-- 一级标题超过两个时,隐藏后面的标题 --> <li id="hidden-dropdown" style="display: none;"> <a href="#" class="toggle-rest">查看剩余标题</a> <ul class="rest-dropdown-menu"> <!-- 这里放剩余的一级标题 --> <li><a href="#">标题3</a></li> <li><a href="#">标题4</a></li> <li><a href="#">标题5</a></li> </ul> </li> </ul> </div> <script> // 获取“查看剩余标题”按钮元素 const toggleRestButton = document.querySelector('.toggle-rest'); // 获取隐藏的子菜单元素 const hiddenDropdown = document.getElementById('hidden-dropdown'); // 点按钮切换菜单的显示和隐藏 toggleRestButton.addEventListener('click', function() { if (hiddenDropdown.style.display === 'none') { hiddenDropdown.style.display = 'block'; } else { hiddenDropdown.style.display = 'none'; } }); </script> ``` 在上面的代码中,我们添加了一个按钮来触发显示更多的一级标题。通过JavaScript监听按钮的点事件,当按钮被点时,切换隐藏子菜单的显示和隐藏。 你可以根据自己的需求进行样式和功能的调整,这只是一个简单的示例供参考。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值