Javascript 当其中一个li';s被点击了吗?

Javascript 当其中一个li';s被点击了吗?,javascript,css,onclick,html-lists,Javascript,Css,Onclick,Html Lists,单击联系人时,我想减小主页的宽度,大约。是否可以将webkit用于此事件或仅用于普通java onclick和onfocus事件?我正在努力理解CSS和HTML中的其他内容(如果有的话) <ul> <li>Home</li> <li>About</li> <li>Contact</li> </ul> 家 关于 接触 解决这个问题的方法有很多,这取决于您需要支持哪些浏览器,

单击联系人时,我想减小主页的宽度,大约
  • 。是否可以将webkit用于此事件或仅用于普通java onclick和onfocus事件?我正在努力理解CSS和HTML中的其他内容(如果有的话)

    <ul>
        <li>Home</li>
        <li>About</li>
        <li>Contact</li>
    </ul>
    
    • 关于
    • 接触

    解决这个问题的方法有很多,这取决于您需要支持哪些浏览器,以及您是否希望使用JavaScript框架来消除一些痛苦,尽管包括上述框架会增加页面的权重

    这是一个非框架解决方案(),它可以在IE9、Firefox和Chrome/Safari中使用。对于 HTML JavaScript CSS 与第一个解决方案相同

    JavaScript
    本演示的不同之处在于包含了jQuery库,因此您需要在代码中添加类似于
    的内容,或者下载jQuery并自己托管。

    有很多方法可以解决这个问题,这取决于您需要支持哪些浏览器,以及您是否希望使用JavaScript框架来消除一些痛苦,尽管包括上述框架会增加页面的权重

    这是一个非框架解决方案(),它可以在IE9、Firefox和Chrome/Safari中使用。对于 HTML JavaScript CSS 与第一个解决方案相同

    JavaScript 这个演示的不同之处在于包含了jQuery库,因此您需要在代码中添加类似于
    的内容,或者下载jQuery并自己托管它

    <ul>
        <li>Home</li>
        <li>About</li>
        <li>Contact</li>
    </ul>​
    
    li {
        width:100px;
        background-color:lightSkyBlue;
    }
    
    li.narrow {
        width:50px;
    }
    
    // resize the list items apart from the one that is clicked
    function resizeNotMe() {
        var listItems = document.getElementsByTagName('li');
        for (var i = 0; i < listItems.length; i++) {
            if (listItems[i] !== this) {
                listItems[i].className = 'narrow';
            } else {
                listItems[i].className = '';
            }
        }
    }
    
    // create click events on the list items
    function load() {
        var listItems = document.getElementsByTagName('li');
        for (var i = 0; i < listItems.length; i++) {
            listItems[i].addEventListener('click', resizeNotMe, false);
        }
    }
    
    // run load function when page is loaded
    document.addEventListener('DOMContentLoaded', load, false);
    
    <ul>
        <li onclick="resizeNotMe(this)">Home</li>
        <li onclick="resizeNotMe(this)">About</li>
        <li onclick="resizeNotMe(this)">Contact</li>
    </ul>​
    
    function resizeNotMe(me) {
        var listItems = document.getElementsByTagName('li');
        for (var i = 0; i < listItems.length; i++) {
            if (listItems[i] !== me) {
                listItems[i].className = 'narrow';
            } else {
                listItems[i].className = '';
            }
        }
    }
    
    $('li').on('click', function() {
        $(this).removeClass('narrow').siblings().addClass('narrow');
    });