tab内容超过一定的宽度后,可以点击左右按钮进行左右轮播显示

<div id="page-wrapper">
                                                    <div class="z_nav-tabs">
                                                        <span id="leftArrow" class="toleft"></span>//可以点击向左滚动的按钮
                                                        <span id="outDiv">//中间的内容块
                                                            <ul class="nav" data-movestep="0"  id="inZoom" >
                                                                <li>
                                                                    <span class="z_close">×</span>
                                                                    <a href="#">我的工作台</a>
                                                                </li>
                                                                <li>
                                                                    <span class="z_close">×</span>
                                                                    <a href="#">新增咨询记录2</a>
                                                                </li>
                                                                <li class="active">
                                                                    <span class="z_close">×</span>
                                                                    <a href="#">新增咨询记录3</a>
                                                                </li>
                                                                <li>
                                                                    <span class="z_close">×</span>
                                                                    <a href="#">新增咨询记录4</a>
                                                                </li>
                                                                <li>
                                                                    <span class="z_close">×</span>
                                                                    <a href="#">新增咨询记录5</a>
                                                                </li>
                                                                <li>
                                                                    <span class="z_close">×</span>
                                                                    <a href="#">新增咨询记录6</a>
                                                                </li>
                                                                <li>
                                                                    <span class="z_close">×</span>
                                                                    <a href="#">新增咨询记录7</a>
                                                                </li>
                                                                <li>
                                                                    <span class="z_close">×</span>
                                                                    <a href="#">新增咨询记录8</a>
                                                                </li>
                                                                <li>
                                                                    <span class="z_close">×</span>
                                                                    <a href="#">新增咨询记录9</a>
                                                                </li>
                                                                <li>
                                                                    <span class="z_close">×</span>
                                                                    <a href="#">新增咨询记录10</a>
                                                                </li>
                                                            </ul>
                                                        </span>
                                                        <span id="rightArrow" class="toright"></span>//可以点击向右滚动的按钮
                                                    </div>
                                                </div>

引入进来的scroll.js插件

(function ($) {

//TAB 移动  -----begin
    $.fn.myScroll = function (options) {
        //默认参数
        var defaults = {
            leftArrow: ‘‘,
            rightArrow: ‘‘,
            outDiv: ‘‘,
            inZoom: ‘‘
        };

opts = $.extend(defaults, options);

var $outDiv = $("#" + opts.outDiv),
            $inZoom = $("#" + opts.inZoom),
            $leftArrow = $("#" + opts.leftArrow),
            $rightArrow = $("#" + opts.rightArrow);

//初始化移动步长为零
        $inZoom.data("movestep", "0");
        $inZoom.css({ left: 0 + "px" });

var outDivWidth = $leftArrow.parent().width()-120 - $leftArrow.outerWidth() * 2 - 20,
            outDivHeight = $outDiv.height(),
            outDivLeft = $outDiv.offset().left,
            outDivTop = $outDiv.offset().top,

inZoomHeight = $inZoom.height(),
            inZoomLeft = $inZoom.offset().left,
            inZoomTop = $inZoom.offset().top;
        $outDiv.width(outDivWidth);
        var inZoomWidth = 0;
        $inZoom.find("li").each(function (index, item) {
            inZoomWidth += $(this).outerWidth();
        });

$inZoom.width(inZoomWidth + "px");

//如果右侧未显示完全,则显示左侧箭头
        leftArrowOpt($leftArrow, outDivLeft + outDivWidth, inZoomLeft + inZoomWidth);

//如果左侧未显示完全,则显示右侧箭头
        rightArrowOpt($rightArrow, outDivLeft, inZoomLeft);

//绑定左箭头事件
        $leftArrow.off("click").on("click", function () {

if ($leftArrow.hasClass("toleft")) {
                $leftArrow.removeClass().addClass("toleftCut");
                var leftStep = parseInt($inZoom.data("movestep")) - 100;
                $inZoom.data("movestep", leftStep);
                $inZoom.animate({ left: leftStep + "px" }, 1000, function () {
                    leftArrowOpt($leftArrow, outDivLeft + outDivWidth, inZoomLeft + leftStep + inZoomWidth);
                    rightArrowOpt($rightArrow, outDivLeft, inZoomLeft + leftStep);

});
            }
        });

//绑定右箭头事件
        $rightArrow.off("click").on("click", function () {

if ($rightArrow.hasClass("toright")) {
                $rightArrow.removeClass().addClass("torightCut");
                var leftStep = parseInt($inZoom.data("movestep")) + 100;
                $inZoom.data("movestep", leftStep);
                $inZoom.animate({ left: leftStep + "px" }, 1000, function () {
                    leftArrowOpt($leftArrow, outDivLeft + outDivWidth, inZoomLeft + leftStep + inZoomWidth);
                    rightArrowOpt($rightArrow, outDivLeft, inZoomLeft + leftStep);
                });
            }
        });

var inZoomSpanColor = "";
        $inZoom.find("span").hover(
            function () {
                inZoomSpan = $(this).css("color");
                $(this).css("color", "red");
            },
            function () {
                $(this).css("color", inZoomSpanColor);
                inZoomSpanColor = "";
            });

}

//右侧箭头处理
    function rightArrowOpt($rightArrow, inleft, outleft) {
        //如果左侧未显示完全,则显示右侧箭头
        if (inleft > outleft) {
            $rightArrow.removeClass().addClass("toright");
        } else {
            $rightArrow.removeClass().addClass("torighthidden");
        }
    }

//左侧箭头处理
    function leftArrowOpt($leftArrow, inleft, outleft) {
        //如果右侧未显示完全,则显示左侧箭头
        if (inleft < outleft) {
            $leftArrow.removeClass().addClass("toleft");
        } else {
            $leftArrow.removeClass().addClass("tolefthidden");
        }
    }

//TAB 移动  -----end

})(jQuery);

//初始化移动选项卡
        $("#outDiv").myScroll({ "leftArrow": "leftArrow", "rightArrow": "rightArrow", "outDiv": "outDiv", "inZoom": "inZoom" });

//删除TAB选项卡
        $("#inZoom").find("span").die("click").live("click", function () {
            console.time("realclose");
            var pageid = $(this).parent().data("pageid");
            if ($(this).parent().hasClass("active")) {
                var nextId = "";

if ($(this).parent().next().length &gt; 0) {
                    nextId = $(this).parent().next().addClass("active").data("pageid");
                } else {
                    nextId = $(this).parent().prev().addClass("active").data("pageid");
                }

//选项卡内容设为可见
                $("#tabContent_" + nextId).siblings().hide(function () { $("#tabContent_" + nextId).show(); });

}
            $(this).parent().remove();
            $("#tabContent_" + pageid).remove();

$("#outDiv").myScroll({ "leftArrow": opts.leftArrow, "rightArrow": opts.rightArrow, "outDiv": opts.outDiv, "inZoom": opts.inZoom });
            console.timeEnd("realclose");
            return false;
        });

最后实现这样的效果页面。

时间: 2024-08-04 16:26:12

tab内容超过一定的宽度后,可以点击左右按钮进行左右轮播显示的相关文章

Easyui datagrid 设置内容超过单元格宽度时自动换行显示

datagrid 设置内容超过单元格宽度时自动换行显示 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 问题描述 单元格内容超过单元格宽度不会自动化换行.如下: 图1: 图2: 解决方法 定义表格时,设置nowrap属性为false. <table id='tt' class="easyui-datagrid" title="Basic DataGrid" style="width:700px;height:

请编写&quot;改变颜色&quot;、&quot;改变宽高&quot;、&quot;隐藏内容&quot;、&quot;显示内容&quot;、&quot;取消设置&quot;的函数,点击相应按钮执行相应操作,点击&quot;取消设置&quot;按钮后,提示是否取消设置,如是执行操作,否则不做操作

<!DOCTYPE HTML><html><head><meta http-equiv="txttent-Type" txttent="text/html; charset=utf-8" /><title>javascript</title><style type="text/css">body{font-size:12px;}#txt{ height:400px

MUI - IOS系统,相册选择照片后,点击确定按钮无反应

MUI框架下使用 plus.gallery.pick 时,选择好照片之后,点击确定按钮无反应(既没报错,也没正确执行成功或失败后的回调方法).这是在做测试时,其中有两台苹果机上出现的bug.做了调试也没发现问题的所在,之后只能网上查资料,看别人是否遇到了同样的问题.最终查找结果如下: 问题原因:MUI框架目前的一个bug,当苹果手机的相册开启了 iCloud 共享时,选择的相片如果存在 iCloud 上时,无法返回相片路径,所以点击 [确定]按钮无反应. 解决方案:只要把 iCloud 共享关闭

在事件触发的时候,有时我们需要一些模拟用户行为的操作。例如:当网页加载完毕后 自行点击一个按钮触发一个事件,而不是用户去点击。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

文本框输入完毕后,点击Enter触发按钮Click事件

文本框输入完毕后,点击Enter触发按钮Click事件 在C#编程中,我们经常碰到一个问题,就是在文本框中输入一些文字后,点击某按钮做一些响应处理.如百度搜索那样的,填写搜索内容,点击百度即可.当然我这里也有相应的情况: 输入文字后,点击按钮触发翻转文字效果. 如果想要用按下Enter代替点击按钮,可以这样写: private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) {

02微信小程序-轮播的宽度100%显示和轮播的基础配置

1==>如何让轮播的宽度100%显示? 你先给swiper 外面添加一个大盒子,给大盒子一个类 . <view class='lunbobox'> 然后wxss 里面设置 image , width: 100%; 在设置大盒子的宽度 width: 100%; 这样就可以了. <view class='lunbobox'> <!-- 轮播开始 --> <swiper indicator-dots="{{indicatorDots}}" ci

css 内容超过容器宽度,checkbox等控件不会随着内容延伸

<div a> <div id='内容容器'> <div>很长的内容</div><input type='checkbox'/> </div> </div> 正常情况:checkbox在很长的内容后面 当有一段很长的内容把内容容器的长度撑开后,内容容器长度还是那样,所以checkbox还是在内容容器的最右边而不是认为的还是跟随变长的内容: 解决: 把checkbox放到很长的内容里,让其position:absolute,

多语言样式容器内容超出父级宽度不换行显示

一个经典的左右浮动布局: <div class="wrap"> <div class="left"></div> <div class="right"></div> </div> wrap层宽度为1000px; 在英文布局下,左右浮动计算好宽度或者不给宽度,都没问题,但是项目引进了多语言翻译后,遇上俄语,法语,意大利语这些单词词组比较长的时候,就会出现left层加上right

css之让文字在一定范围内显示,不超过固定的宽度和高度

首先我们设置类如:.STYLE1 { width:150px; height:80px;color: #000000; border:1px solid #FF0000;} 解决让文字不超出CSS盒子的固定高宽我们只需要在此CSS类加入overflow:hidden;样式即可,加入后CSS类:.STYLE1 { width:150px; height:80px;color: #000000; border:1px solid #FF0000;overflow:hidden;}效果即下图: 这样一