Jquery 选项卡帮助

标签 jquery css xhtml tabs

所以我想在菜单中制作一个选项卡,但无法使每个选项卡的整个宽度为 219 像素。它只允许我将 li 设为 219,但我想让 li 设为 219px。我似乎无法弄清楚。还有没有办法制作下一个按钮,或者最好的方法是转到每个选项卡并以某种方式逐字放入下一个选项卡?

任何帮助将不胜感激

CSS

.servicesNavigation li {
    float: left;
    list-style: none;
    width: 219px;
}

ul.servicesNavigation li a {
    padding: 3px 5px;
    background-color: #ccc;
    color: #000;
    text-decoration: none;
    width: 219px;
}

ul.servicesNavigation li a.selected, ul.tabNavigation li a:hover {
    background-color: #333;
    color: #fff;
    padding-top: 7px;
}

ul.servicesNavigation li a:focus {
    outline: 0;
}

HTML

<ul class="servicesNavigation">
<li><a href="#Web">Web</a></li>
<li><a href="#Print">Print</a></li>
<li><a href="#DynamicContent">Dynamic Content</a></li>
<li><a href="#Hosting">Hosting</a></li>
</ul>       

查询

var tabContainers = $('div.servicesInfo > div');
tabContainers.hide().filter(':first').show();

$('div.servicesInfo ul.servicesNavigation a').click(function () {
    tabContainers.hide();
    tabContainers.filter(this.hash).show();
    $('div.servicesInfo ul.servicesNavigation a').removeClass('selected');
    $(this).addClass('selected');
    return false;
}).filter(':first').click();

最佳答案

anchor 的宽度

anchor 默认显示为 inline 元素。 inline 元素只会被赋予显示其内容所需的最小高度和宽度。

您可以声明它们应显示为 block 元素。这样,浏览器将遵守您提供的 width 声明。

为了防止您的链接溢出列表元素右侧 10 像素,请删除 li 的宽度规范。

.servicesNavigation li {
    float: left;
    list-style: none;
    /* width: 219px; */ <-- Remove this declaration
}

ul.servicesNavigation li a {
    display: block; <-- Add this declaration
    padding: 3px 5px;
    background-color: #ccc;
    color: #000;
    text-decoration: none;
    width: 219px;
}

下一个/上一个

我建议在您的列表之外的某个地方添加以下标签,以您喜欢的任何方式设置样式:

<a id="previous" href="#previous">previous</a>
<a id="next" href="#next">next</a>

然后您可以轻松地将处理程序绑定(bind)到每个的 click 事件,以找到与要显示的新选项卡对应的链接,然后触发 its click 事件。

$('#next').click(function() {
   var selectedLink = 
      $('div.servicesInfo ul.servicesNavigation a.selected').first();
   selectedLink.parent().next().children().click();
   return false;
});

$('#previous').click(function() {
   var selectedLink = 
      $('div.servicesInfo ul.servicesNavigation a.selected').first();
   selectedLink.parent().prev().children().click();
   return false;
});

关于Jquery 选项卡帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3002837/

相关文章:

javascript - jquery click事件仅在包装元素被点击时发生

jquery - 垂直多级菜单,悬停时应显示下一级

jQuery 获取父元素的 css 背景颜色值

javascript - 如何查看关联的点击功能码

JQUERY 和 CSS DOWN MENU - 悬停在子元素 (a div) 上时无法保持 <li> 的背景突出显示

HTML:BR 的正确形式是什么?

css - Flexbox 拉伸(stretch)未拉伸(stretch)得足够远

html - 找出icon-font图标的unicode字符编码

javascript - 将文本应用于图像(不推送它)

asp.net - 在绝对定位的元素中嵌套登录控件时得到一些奇怪的结果