原生js/css的一些用法

forEach

js

[].forEach.call(
        document.getElementById('items'),
        function(item, index) {
     //     item.getElementsByTagName('p')[0].innerHTML =
     //       (index + 1).toString() + '.'
        }
      )

p标签的文字内容

.innerHTML

复制元素并粘贴到父元素

html

<ul>
	<li id="item">#</li>
</ul>

js

var item = document.getElementById('item').cloneNode(true)  // true: 孩子结构也一并复制
item.id = 'new-item' // [可选] 不设置的话,新元素id和被复制元素id相同
document.getElementById('item').parentNode.appendChild(item)

js获取元素的区别

document.getElementById() 得到一个结点
document.getElementsByClassName() 得到一组结点

.parentNode 得到一个结点
.childNodes 得到一组结点

鼠标移进祖先元素时,孩子元素显示,移出消失

html

<li class="list-group">
	……
		<span class="setting-icon">#</span>
	……
</li>

css

.setting-icon{
  display: none;
}
.list-group:hover .setting-icon {
  display: inline;
  cursor: pointer;
}

textarea, input, 可编辑div 的选择

textarea: 默认可拉伸,此时右下角会有两道短线,也可使用resize:none;去掉短线,但同时也设置了不可拉伸;在元素上使用rows=1可设置可显示行数,没办法直接实现自适应高度。
input: 只可编辑一行,显示高度可以设置,不可拉伸。
可编辑div: 不可拉伸,css可以直接设置自适应宽高,没有placeholder,不过可以用css手动实现。举例:
html

<div 
	contenteditable="true" 
	class="editdiv" 
	placeholder="默认填充"
></div>

css

.editdiv {
  height: auto; /*自适应高度*/
}
.editdiv:empty:before {
  content: attr(placeholder);
  color: rgb(194, 194, 194);
}

.editdiv:focus:before {
  content: none;
}

另:若想让输入框变灰,实现只读,需要在元素上加属性readonly

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端开发中,可以使用原生 JavaScript 或 jQuery 来实现图片的放大效果。下面分别给出两种方法: 1. 原生 JavaScript 方法: ```javascript // HTML 结构 // <img src="path_to_image.jpg" alt="Image" class="zoomable-image"> // CSS 样式 // .zoomable-image { // cursor: pointer; // } // JavaScript 代码 const images = document.querySelectorAll('.zoomable-image'); images.forEach(image => { image.addEventListener('click', function() { // 创建放大图片的容器 const zoomContainer = document.createElement('div'); zoomContainer.classList.add('zoom-container'); document.body.appendChild(zoomContainer); // 创建放大图片 const zoomedImage = document.createElement('img'); zoomedImage.src = this.src; zoomedImage.alt = this.alt; zoomContainer.appendChild(zoomedImage); // 点击放大图片容器时关闭放大效果 zoomContainer.addEventListener('click', function() { this.remove(); }); }); }); ``` 2. 使用 jQuery 方法: ```javascript // HTML 结构与 CSS 样式同上 // JavaScript 代码 $('.zoomable-image').on('click', function() { // 创建放大图片的容器 const zoomContainer = $('<div>').addClass('zoom-container'); $('body').append(zoomContainer); // 创建放大图片 const zoomedImage = $('<img>').attr('src', this.src).attr('alt', this.alt); zoomContainer.append(zoomedImage); // 点击放大图片容器时关闭放大效果 zoomContainer.on('click', function() { $(this).remove(); }); }); ``` 以上代码实现了点击图片时,在页面上创建一个放大的图片,并且点击放大的图片时可以关闭放大效果。你可以根据实际需求,对样式和交互进行进一步的调整和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值