javascript+css 标签显示方式的思考收藏

2016-02-19 21:26 3 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐javascript+css 标签显示方式的思考收藏,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - Web开发 】

  星期天看了很多国外的图书出版商的网站!发现Sams的标签显示方式的实践思路不错!标签显示的实践方式一般都要用到:javascript,来动态改变div的显示和隐藏.来看看人家写的JS代码吧:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

script type="text/javascript"
//![CDATA[
         //标签的数组,如果让我写,我想不到会用这个保存
    var tabArray = new Array();
         //默认显示哪个标签
    function showDefaultTab(){
        //show 'Description' tab by default, else show first
        if(!showTab('item1')){
             displayToggle(tabArray[0]+"_container",true,'container on');
             document.getElementById(tabArray[0]).className = 'selected';
         }
     }
         //改变内容盒的隐显,并重绘显示样式:感觉有点像配适器模式
    function showTab(tabID){
        var found = false;
        for(var i=0; i tabArray.length; i++){
            if(tabArray[i] != tabID){
                 displayToggle(tabArray[i]+"_container",false, 'container');
                 document.getElementById(tabArray[i]).className = '';
             }else{
                 displayToggle(tabArray[i]+"_container",true,'container on');
                 document.getElementById(tabArray[i]).className = 'selected';
                 found = true;
             }
         }
        return found;
     }
    //showtab函数会调用这个函数来隐显内容盒        
    function displayToggle(id, show, newClass){
        var obj = document.getElementById(id);
        if(obj != null){                
            if(show){
                 obj.style.visibility="visible";
                 obj.style.display="block";
             }else{
                 obj.style.visibility="hidden";
                 obj.style.display="none";
             }

            if(newClass != null)
                 obj.className = newClass;
         }
     }
//]]
/script

  看看HTML的代码吧!相信大家都猜了个大概:

    div id="sitepage"
        div id="productBSS" class="tabwidget"
            ul class="tabs"
                li id="item1"
                    a id="info3" href="#info3" onclick="showTab('item1'); return false;"Description/a
                /li
                script language="JavaScript"
                     tabArray.push('item1');
                /script
                li id="item2"
                    a id="info8" href="#info8" onclick="showTab('item2'); return false;"Sample Content/a
                /li
                script language="JavaScript"
                     tabArray.push('item2');
                /script
            /ul
        /div
        div id="bssContent"
            div id="item1_container"
                !--detail content--
            /div
            div id="item2_container"
                !--detail content--
            /div
        /div
       script language="JavaScript"
               showDefaultTab();
       /script
    /div

  最后是CSS的样式定义:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

style type="text/css"
!--
body {margin:150px 0 0 0;font-size:0.8em;font-family:"Lucida Grande", Arial, Helvetica, sans-serif;}
div#sitepage{ margin:0 0 0 184px; padding:0; width:400px;height:auto;}
div#productBSS { clear:both; }
div#bssContent { margin:-1px 0 0 0; padding:1em; border-right:1px solid #C7C8CA; border-left:1px solid #C7C8CA;  border-bottom:1px solid #C7C8CA; border-top:1px solid #C7C8CA; }
/* - Tab Widget (blog sidebar) - */
div.tabwidget { border-left: 1px solid #C7C8CA; position: relative; }
/* tab control */
div.tabwidget ul.tabs { list-style: none; margin: 0; padding: 0 0 1px 0; height: 2em; border-bottom: 1px solid #C7C8CA; }
div.tabwidget ul.tabs li { display: block; float: left; background-color:#EEE; border: 1px solid #C7C8CA; border-width: 1px 1px 1px 0; padding: 0 1em; line-height: 2em; margin: 0; }
div.tabwidget ul.tabs li.selected { background-color: #FFF; border-bottom: 1px solid #FFF; }
/* layer control */
div.tabwidget div.container { display: none; clear: both; border: 1px solid #C7C8CA; border-width: 0 1px 1px 0; position: relative; }
div.tabwidget div.on { display: block; }
/* Content control */

:link,:visited { text-decoration:none; }
a:link { color:#004F7F; }
a:visited { color:#2E87B2; }
a:hover, a:active { color:#004F7F; text-decoration:underline; }
--
/style

  最值的学习的是:javascript数组在这过程的应用!有人会说!硬编码不是更好么!不就少了至少一个函数和两个push操作.这种表现形式是死的!但要灵活运用人家写代码的思维!如果你只学习人家的表面形式. 哪没什么好说的!

来源:https://www.tulaoshi.com/n/20160219/1626155.html

延伸阅读
        字体的处理在网页设计中无论怎么强调也不为过,毕竟网页使用来传递信息的,而最经典最直接的信息传递方式就是文字,所以,了解一点字体的基本知识对于设计来说还是非常重要的。 中文和英文的最大区别就是中文是方块字,英文是拼音文字,这对字体的处理的影响是巨大的。看看下面的图示就会发现...
标签: Web开发
今天在网站二次开发时发一个问题就是把网页所有的a标签的target=_blank全部去了,用css 控制.想了很多办法都没实现,上网查了一下发现有三种方法第一种就是用css第二是用js控制,但是要给a标签加external,不过js这种我觉得还是没有减轻文件的大小和加target没什么区别了,所以我不喜欢这种,好了,下面来看看这几种吧: 第一种: ***.css a.toblank...
标签: Web开发
看到下面的效果吧我们今天要要做的就是利用css的 ul li标签做出这种左右排列的效果哦, 根据上面的效果我们分析一下,li 点我们要把它改成图片, ul li{ list-style-image:url(num/8.gif); } 下面我们最重要的就是左右分开并在同行的情况怎么实现了. ul lispan2008.09.12/span fdsafdafd/li    lispan2008.09.12/span li...
标签: Web开发
1.四种浏览器对 document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解释。 这四种浏览器分别为IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。 clientHeight 大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内...
标签: 春季 自驾游
春季带孩子自驾游 2013年各大城市的春运热潮启动了!对于宝宝来讲,无疑是一次特别的经历,如果父母带宝宝选择搭汽车回家过年,而最担心的就是在这或长或短的旅途中,孩子能否吃得消。那么在这种空气污浊、奔波劳累的旅程中,父母们都要注意些什么呢? 必须用安全座椅 自驾车出行时,不要以为小婴儿抱在怀里就安全,一定要用...

经验教程

681

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部