博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
淘宝首页交互2--搜索框切换
阅读量:5342 次
发布时间:2019-06-15

本文共 3957 字,大约阅读时间需要 13 分钟。

1.HTML代码:

2.JS代码:

function searchBox() {    var Search = document.getElementsByClassName('search');    var Goods = Search.getElementsByClassName('goods');    var Tmall = Search.getElementsByClassName('tmall');    var Store = Search.getElementsByClassName('store');    var Box_1 = Search.getElementsByClassName('box-1');    var Box_2 = Search.getElementsByClassName('box-2');    var Box_3 = Search.getElementsByClassName('Box_3');    var Text = Search.getElementsByClassName('text');    var val = null; //设置空指针对象    Text[0].focus(); //初始化获取焦点    //切换导航    Goods.onclick = function() {        addClass(Goods, 'active');        removeClass(Tmall, 'active');        removeClass(Store, 'active');        Goods.style.display('block');        Tmall.style.display('none');        Store.style.display('none');        Text[0].focus();        Text[0].value = val;        if( Text[0].value != ' ' ) {            Text[0].style.background = '#fff';        } else {            Text[0].style.background = 'url(需要的背景文字图) no-repeat top left';        }    }    Tmall.onclick = function() {        addClass(Tmall, 'active');        removeClass(Goods, 'active');        removeClass(Store, 'active');        Tmall.style.display = 'block';        Goods.style.display = 'none';        Store.style.display = 'none';        Text[1].focus();        Text[1].value = val;        if (Text[1].value != ' ') {            Text[1].style.background = '#fff';        } else {            Text[1].style.background = 'url(指定文字背景图片或者插入文字) no-repeat top left';        }    }    Store.onclick = function() {        addClass(Store, 'active');        removeClass(Goods, 'active');        removeClass(Tmall, 'active');        Store.style.display = 'block';        Goods.style.display = 'none';        Tmall.style.display = 'none';        Text[2].focus();        Text[2].value = val;         if (Text[2].value != ' ') {            Text[2].style.background = '#fff';        } else {            Text[2].style.background = 'url()';        }    }    //当有文字输入,清除对话框中的默认背景     //index 属性可返回下拉列表中选项的索引位置。    //onkeyup 事件会在键盘按键被松开时发生。    for (var i = 0; i < Text.length; i++) {            Text[i].onkeyup =function() {                if (this.value != ' ') {                    val = this.value;                    this.style.background = '#fff';                } else {                    val = this.value;                    if (this.index == 0 ) {                        this.style.background = 'url(1)';                    }                     else if (this.index == 1 ) {                        this.style.background = 'url(2)';                    } else {                        this.style.background = 'url(3)';                    }                }            }        }    //添加类名函数function addClass(obj, newClass) {    var oldClass = obj.className;    if (oldClass == '') {        obj.className = newClass;        return false;    }    var arr = oldClass.split(" ");    for (var i = 0; i < arr.length; i++) {        if (arr[i] == newClass) {            return false;        }    }    arr.push(newClass);    obj.className = arr.join(" ");}//删除类名函数function removeClass(obj, old) {    var oldClass = obj.className;    var arr = oldClass.split(" ");    for (var i = 0; i < arr.length; i++) {        if( arr[i] == old ) {            arr.splice(i,1)            break;        }    }    obj.className = arr.join(" ");}}

知识:

  focus(): 初始化获取焦点;

  split( ) :基于指定的分隔符将一个字符串分割成多个子字符串,并将结果(逗号隔开)放入一个数组中。

  join( ) :将数组变为字符串,每个元素以指定样式隔开。

  splice(): 删除:splice(0, 2); 从数组第一项的位置开始, 删除两项。

        插入:splice(2, 0, "red", "green");从数组的第三项,删除零项,插入red , green 字符串。

        替换:splice(2, 1, "red" ); 把数组的第三项用red 替换。

转载于:https://www.cnblogs.com/ICE-Dong/p/7483548.html

你可能感兴趣的文章
Week03-面向对象入门
查看>>
一个控制台程序,模拟机器人对话
查看>>
web.xml 中加载顺序
查看>>
pycharm激活地址
查看>>
hdu 1207 四柱汉诺塔
查看>>
Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇——纯前端多页面)
查看>>
display:none与visible:hidden的区别
查看>>
我的PHP学习之路
查看>>
【题解】luogu p2340 奶牛会展
查看>>
对PostgreSQL的 SPI_prepare 的理解。
查看>>
解决响应式布局下兼容性的问题
查看>>
京东静态网页练习记录
查看>>
使用DBCP连接池对连接进行管理
查看>>
【洛谷】【堆+模拟】P2278 操作系统
查看>>
hdu3307 欧拉函数
查看>>
Spring Bean InitializingBean和DisposableBean实例
查看>>
Solr4.8.0源码分析(5)之查询流程分析总述
查看>>
[Windows Server]安装系统显示“缺少计算机所需的介质驱动程序”解决方案
查看>>
[容斥][dp][快速幂] Jzoj P5862 孤独
查看>>
Lucene 学习之二:数值类型的索引和范围查询分析
查看>>