js怎么实现点击表格图片显示和消失

js怎么实现点击表格图片显示和消失,第1张

这个问题其实想要实现的效果不难,但关键在于你的数据是灵活变化的还是固定不变的?

(1)如果是固定的,我是指(表格大小,长宽,位置均不变,但图片内容是可以变化的),这个就很容易写,我写了一个简单的Demo

HTML:

<!DOCTYPE html>

<html>

<head>

<title></title>

<meta http-equiv="Content-type" content="text/html charset=utf-8" />

<style type='text/css'>

.sel tr td{ 

width: 80px 

background:#09f 

height: 20px

text-align: center

color:#fff

cursor: pointer

}

table tr td img{display: none} /*这里我先把图片隐蔽了*/

</style>

</head>

<body>

<table>

<tr>

        <!-- 给图片添加一个ID -->

<td><img src='../picture/01.jpg' id='img1' /></td>

<td><img src='../picture/02.jpg' id='img2' /></td>

<td><img src='../picture/03.jpg' id='img3' /></td>

</tr>

</table>

<table class="sel">

     <tr>

             <!--直接在td上添加事件,并传入指定的参数-->

     <!-- 这个参数就是对应图片的ID -->

         <td onclick="fToggle('img1')" >1</td> 

        <td onclick="fToggle('img2')" >2</td>

<td onclick="fToggle('img3')" >3</td>

</tr>     

</table>

</body>

<script type="text/javascript">

function fToggle(objId){

//触发事件后,根据传入的参数获取对应的图片的display值

var state = document.getElementById(objId).style.display

//再进行设置显示或是隐藏就行了

if( state == 'block' ){

document.getElementById(objId).style.display = 'none'

}

else{

document.getElementById(objId).style.display = 'block'

}

}

</script>

</html>

(2)如果是变化的(指图片多少,表格大小均可以变化),那这里就相对复杂些,不过思路依然是可以沿用上面的思路去做的!这里我就不写了,比较麻烦

1.首先创建html结构,如下图所示,一个input元素,一个按钮,一个空的ul列表。

2.然后添加按钮点击事件,如下图所示,在按钮点击事件中获得input元素。

3.通过value属性我们可以获得用户在input中输入的内容,如下图所示。

4.下面我们来动态创建一个li元素,如下图所示,运用document中的createElement方法即可。

5.创建好li元素以后,下面要做的就是给其设置innerHTML内容,如下图所示。

6.接下来就是获取ul元素了,如下图所示,仍然用getElementById方法。

7.最后通过调用appendChild方法将创建的li元素添加到ul列表中,如下图所示。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11857646.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存