JavaScript下拉列表交互特效
下拉列表的网页特效,说实话,真的是前端里一个老少皆宜的互动控件了。不管是表单、筛选还是搜索,它都能派上用场。
基础的元素配合
用法谁都熟,但真要做得美观又好用,还得靠点
JavaScript
小操作。像自定义样式、加个动画、甚至加搜索功能,这些都挺实用的。
比如用document.getElementById
搞定元素获取,再配合createElement
加选项、加事件监听,基本上功能就能跑起来了。下面这段代码就能实现点击选项更新值:
mySelect.addEventListener('change', function() {
console.log('当前选中的值:', this.value);
});
如果你想再花点小心思,可以用div
来包一套自定义样式的菜单,用click
事件控制显示,顺带还能加点CSS3
动画,效果立马高级不少。
想加搜索功能也简单,用input
监听input
事件,动态过滤option
就行:
searchInput.addEventListener('input', function() {
var term = this.value.toLowerCase();
options.forEach(function(opt) {
opt.style.display = opt.textContent.toLowerCase().includes(term) ? '' : 'none';
});
});
还有一点挺重要的,记得做响应式适配。尤其在移动端,太大的下拉框可真不太友好,媒体查询+弹窗式菜单会更舒服。
如果你对select
的玩法还挺感兴趣,下面这些链接可以看看,思路多了你就知道怎么玩出花来了:
,下拉列表虽小,玩好了也是前端体验的加分项。如果你最近正好在做表单或交互组件,不妨试试这种 JS 特效式的做法,灵活、可控,还挺有意思。
下载地址
用户评论