91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Html實現添加、刪除、右鍵菜單

發布時間:2022-03-01 10:04:49 來源:億速云 閱讀:776 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關如何使用Html實現添加、刪除、右鍵菜單,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

代碼如下:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

    <title></title>

    <link href="//cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet">

    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh5u" crossorigin="anonymous">

    <!--jquery 1.11.3-->

    <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.js"></script>

    <style>

        .tabs{

            width:800px;

            margin:150px auto;

        }

        .tab-header {

            position: relative;

            height: 40px;

            line-height: 40px;

            background: #fafafa;

            border-bottom: solid 2px #39AEF5;

            overflow: hidden;

        }

 

        .tab-left, .tab-right {

            position: absolute;

            top: 0;

            width: 40px;

            height: 40px;

            text-align: center;

            color: #888;

            background-color: #ffffff;

            cursor: pointer;

            z-index: 1000;

        }

 

        .tab-left {

            left: 0;

            border-right: solid 1px #eee;

        }

 

        .tab-right {

            right: 0;

            border-left: solid 1px #eee;

        }

 

        .tabs-wrap {

            position: relative;

            overflow: hidden;

            margin: 0 40px;

        }

        .tabs-wrap ul{

            list-style-type: none;

            height: 40px;

            margin: 0;

            padding: 0;

            font-size: 14px;

            width: 5000px;

        }

        .tabs-wrap ul li {

            float: left;

            display: inline-block;

        }

        .tabs-wrap ul li a {

            display: block;

            border-right: solid 1px #eee;

            padding: 0 15px;

            color: #888;

        }

 

        .tabs-wrap ul li.active a{

            background-color: #39AEF5;

            color: #fff;

        }

        .tabs-wrap ul li a:hover{

            text-decoration: none;

        }

    </style>

</head>

<body>

    <div class="tabs" id="tabs">

        <!--標簽頁導航條-->

        <div class="tab-header">

            <!--左邊按鈕-->

            <a class="tab-left">

                <i class="fa fa-backward"></i>

            </a>

            <!--右邊按鈕-->

            <a class="tab-right">

                <i class="fa fa-forward"></i>

            </a>

            <div class="tabs-wrap">

                <!--標簽頁內容-->

                <ul class="tabs-content">

                    <li class="active" data-id="0"><a href="#">首頁</a></li>

                </ul>

            </div>

        </div>

        <!--標簽頁內容-->

        <div class="tab-panel" id="tab-panel">

            <div class="panel-content" data-id="0">

                <iframe class="myiframe" name="iframe0" scrolling="auto" width="100%" height="100%" src="view/home.html" frameborder="0"></iframe>

            </div>

        </div>

    </div>

 

    <ul class="dropdown-menu Rightmenu">

        <li class="tabUpdate"><a>刷新</a></li>

        <li class="divider"></li>

        <li class="tabCloseAll"><a>關閉全部選項卡</a></li>

        <li class="divider"></li>

        <li class="tabCloseOther"><a>關閉其他選項卡</a></li>

        <li class="divider"></li>

        <li class="tabnextClose"><a>關閉右邊其他選項卡</a></li>

        <li class="divider"></li>

        <li class="tabprevClose"><a>關閉左邊其他選項卡</a></li>

    </ul>

    <a class="btn btn-primary btn-lg" data-id="1" style="margin-left: 100px">添加TABS1</a>

    <a class="btn btn-primary btn-lg" data-id="2" style="">添加TABS2</a>

    <a class="btn btn-primary btn-lg" data-id="3" style="">添加TABS3</a>

    <a class="btn btn-primary btn-lg" data-id="4" style="">添加TABS4</a>

    <a class="btn btn-primary btn-lg" data-id="5" style="">添加TABS5</a>

    <a class="btn btn-primary btn-lg" data-id="6" style="">添加TABS6</a>

    <a class="btn btn-primary btn-lg" data-id="7" style="">添加TABS7</a>

    <a class="btn btn-primary btn-lg" data-id="8" style="">添加TABS8</a>

    <a class="btn btn-primary btn-lg" data-id="9" style="">添加TABS9</a>

    <script >

        //獲取全部的tab標簽的寬度

function getContentWidth(c){

    var w = 0;

    c.children().each(function(){

        w += $(this).outerWidth(true);

    });

    return w;

}

// 判斷tab是否已存在

function tabRepeat(id) {

    var li = $(".tabs-content li");

    var isRepeat = false;

    $.each( li , function (i,n) {

        if($(n).attr("data-id") == id){

            isRepeat = true;

            return false;

        }

    });

    return isRepeat;

}

//添加tab方法

function addTab(id, title, content) {

 

    var ul = $(".tabs-content");

    var panels = $(".tab-panel");

    var tab;

 

    // 如果tab標題已存在,就打開當前標簽頁并返回

    if (tabRepeat(id)) {

        tab = $(".tabs-content li[data-id=" + id + "]");

        scrollSelected(tab);

    } else {

        //創建tab

        tab = $(

            '<li data-id = "' + id + '">' +

            '<a href="javascript:void(0)">' +

            title +

            ' <i class="fa fa-times-circle tab-close"></i></a>' +

            '</li>'

        );

        //創建tab面板

        var tabPanel = $(

            '<div class="panel-content" data-id="'+ id +'">' +

            content +

            '</div>'

        );

        //tabtab面板添加到頁面

        tab.appendTo(ul);

        tabPanel.appendTo(panels);

 

        //如果標簽過多,就滾動標簽容器使標簽顯示

        var tabsWidth = getContentWidth(ul);

        tabsWidth > $(".tabs-wrap").width() &&  ul.animate({

            "margin-left" : $(".tabs-wrap").width() - tabsWidth

        });

    }

    //選中tab

    selectTab(tab);

}

//選中標簽頁

function selectTab(self){

    //所有的tab取消選中

    $(".tabs-content li").removeClass("active");

    //隱藏所有的面板

    $(".panel-content ").hide();

    //選中時顯示選中的標簽頁

    self.addClass("active");

    var id = self.attr("data-id");

    $(".panel-content[data-id="+ id + "]").show();

    return false;

}

//選中時移動Tab

function scrollSelected(self){

    var w= parseInt(self.css("width"));

    var ul = $(".tabs-content");

    var ulLeft = parseInt( ul.css("margin-left"));

    var wapW = $(".tabs-wrap").width();

    var tabsWidth = getContentWidth(ul);

    var prveall = self.prevAll();

    var nextall = self.nextAll();

    var prveallwidth = 0;

    var nextallwidth = 0;

    var newleft;

    $.each(prveall,function(i , n){

        prveallwidth += parseInt($(n).css("width"))

    });

    $.each(nextall,function(i , n){

        nextallwidth += parseInt($(n).css("width"))

    });

    if(prveallwidth + w < wapW){

        newleft = 0

    }else if( nextallwidth < wapW ){

        newleft = wapW - tabsWidth

    }else{

        newleft = -prveallwidth + wapW/2

    }

    if( prveallwidth < -ulLeft || prveallwidth > wapW - w ){

        ul.animate({

            "margin-left": newleft

        })

    }

}

//刪除標簽頁

function  closeTab(self){

    var li = self.parents("li");

    var id = li.attr("data-id");

    var nextLI = li.next();

    var prevLI = li.prev();

    var w = li.width();

    var ul = $(".tabs-content");

    var tabConLeft = parseInt(ul.css("margin-left"));

    //刪除標簽和面板

    li.remove();

    $(".panel-content[data-id="+ id + "]").remove();

 

    //刪除標簽頁時顯示其他標簽頁

    if(li.hasClass("active") && nextLI.size() == 0 ){

        prevLI.addClass("active");

        $(".panel-content[data-id="+ prevLI.attr("data-id") + "]").show();

    }else if(li.hasClass("active") && nextLI.size() != 0){

        nextLI.addClass("active");

        $(".panel-content[data-id="+ nextLI.attr("data-id") + "]").show();

        return false

    }

 

    //需要時滾動標簽

    tabConLeft < 0 && ul.animate({

        "margin-left": tabConLeft + w > 0 ? 0 : tabConLeft + w

    });

}

//綁定點擊事件

function bindEvents(self) {

    self.unbind().bind("click", function (e) {

        var left = 200;

        var ul = $(".tabs-content");

        var ulLeft = parseInt(ul.css("margin-left"));

        var tabsWidth = getContentWidth(ul);

        if ($(e.target).hasClass("tab-left") || $(e.target).parent().hasClass("tab-left")) {

            ulLeft < 0 && scrollBy(left);

        } else if ($(e.target).hasClass("tab-right") || $(e.target).parent().hasClass("tab-right")) {

            ulLeft > $(".tabs-wrap").width() - tabsWidth && scrollBy(-left)

        } else if($(e.target).hasClass("tab-close")){

            closeTab($(e.target))

        }else{

            var li = $(e.target).closest('li');

            if(li.length){

                selectTab(li);

            }

            return false

        }

    }).on('contextmenu','li',function(e){

        e.preventDefault();

        selectTab($(this));

        $(".Rightmenu").css({

            display: 'block',

            left: e.pageX,

            top: e.pageY

        });

    });

    tabRightmenuEven();

}

//設置標簽滾動

function scrollBy(left){

    var ul = $(".tabs-content");

    var ulLeft = parseInt(ul.css("margin-left"));

    var tabsWidth = getContentWidth(ul);

    var newLeft = ulLeft + left;

    if(newLeft > 0 ){

        newLeft = 0

    }else if(newLeft < $(".tabs-wrap").width() - tabsWidth){

        newLeft = $(".tabs-wrap").width() - tabsWidth

    }

    ul.animate({

        "margin-left":  newLeft

    })

}

//綁定右鍵菜單事件

function tabRightmenuEven() {

    //離開選項卡時,隱藏右鍵菜單

    $(".Rightmenu").on('mouseleave',function(){

        $(this).hide();

        return false;

    });

    $(".sidebar, .main, .top-navbar").mouseover(function(){

        $(".Rightmenu").hide();

    });

    //刷新

    $('.tabUpdate').click(function () {

        var tabs = $(".tabs-content li");

        tabs.each(function (i, n) {

            if ($(n).hasClass("active")) {

                var id = $(n).attr("data-id");

                //js調用強制刷新

                $(".panel-content[data-id = '"+ id +"'] iframe").attr('src', $(".panel-content[data-id = '"+ id +"'] iframe").attr('src'));

            }

        });

        $(".Rightmenu").hide();

        return false;

    });

    //關閉全部

    $(".tabCloseAll").click(function () {

        var tabs = $(".tabs-content li");

        $.each( tabs, function( i , n){

            var id = $(n).attr("data-id");

            if(id != 0){

                $(n).remove();

                $(".panel-content[data-id = '"+ id +"']").remove();

            }else{

                $(n).addClass("active");

                $(".panel-content[data-id = '"+ id +"']").show();

            }

        });

        $(".Rightmenu").hide();

        return false;

    });

    //關閉其他頁面

    $(".tabCloseOther").click(function () {

        var tabs = $(".tabs-content li");

        tabs.parent().css("margin-left", "0px");

        tabs.each(function (i, n) {

            if (i != 0 && !$(n).hasClass("active")) {

                var id = $(n).attr("data-id");

                $(n).remove();

                $(".panel-content[data-id = '"+ id +"']").remove();

            }

        });

        $(".Rightmenu").hide();

        return false;

    });

    //關閉當前tab之前的所有頁面

    $(".tabprevClose").click(function () {

        var tab =  $(".tabs-content li.active");

        var prevalltab =  tab.prevAll();

        var ulLeft = parseInt(tab.parent().css("margin-left"));

        prevalltab.each(function (i, n) {

            if (i != prevalltab.length-1) {

                var id = $(n).attr("data-id");

                $(n).remove();

                $(".panel-content[data-id = '"+ id +"']").remove();

            }

        });

        ulLeft < 0 && tab.parent().animate({ "margin-left" : 0 });

        $(".Rightmenu").hide();

        return false;

    });

    //關閉當前tab之后的所有頁面

    $(".tabnextClose").click(function () {

        var tab =  $(".tabs-content li.active");

        var nextalltab =  tab.nextAll();

        var ulLeft = parseInt(tab.parent().css("margin-left"));

        var wapW = $(".tabs-wrap").width();

        nextalltab.each(function (i, n) {

            var id = $(n).attr("data-id");

            $(n).remove();

            $(".panel-content[data-id = '" + id + "']").remove();

        });

        var tabs = $(".tabs-content li");

        var tabsW = 0;

        tabs.each(function(z,x){

            tabsW += parseInt($(x).css("width"));

        });

        if(ulLeft < 0 ){

            tab.parent().animate({

                "margin-left" : tabsW < wapW ? 0 : wapW - tabsW

            });

        }

        $(".Rightmenu").hide();

        return false;

    });

}

 

 

    </script>

    <script>

        $(function(){

            $(".btn").click(function(){

                var id = $(this).attr("data-id");

                var title = $(this).text();

                var content = '<iframe class="myiframe"  scrolling="auto" width="100%" height="100%" src="view/home.html" frameborder="0"></iframe>';

                addTab(id,title,content);

                bindEvents($(".tab-header"));

                return false

            });

        })

    </script>

 

</body>

</html>

 

關于“如何使用Html實現添加、刪除、右鍵菜單”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宿州市| 荣成市| 剑阁县| 休宁县| 崇仁县| 农安县| 大厂| 淮北市| 肇源县| 勃利县| 抚远县| 兴隆县| 古交市| 古蔺县| 宁城县| 车致| 孟津县| 日土县| 丹阳市| 洱源县| 元氏县| 凤台县| 韶关市| 观塘区| 清徐县| 宝应县| 铁岭市| 新建县| 辽阳市| 左云县| 宁夏| 黎城县| 新晃| 德令哈市| 普定县| 双桥区| 丰城市| 闵行区| 承德市| 凌云县| 鹰潭市|