在 jQuery 选项卡菜单中相应地更改背景

Change background accordingly in jQuery tab menu

我正在开发一个带有选项卡菜单的网站,您可以在不同的选项卡之间切换有关(系列)角色的信息。我遵循了 jQuery 的简单教程,菜单工作正常,但我想根据当前选择的角色相应地更改菜单的背景。这是基本代码:

Javascript:

<head>
<script type="text/javascript" src="etc/jquery-1.6.min.js"></script>
<script type="text/javascript">
$(window).load(function(){
var tabs = $('#menuv_characters_titles li');
var contents = $('#menuv_characters_contents li');

tabs.bind('click',function(){
  contents.hide();
  tabs.removeClass('current_title');
  $(contents[$(this).index()]).show(); //show tab content that matches tab title index
  $(this).addClass('current_title');
});
});
</script>
</head>

HTML:

<div id="menuv_characters">
    <ul id="menuv_characters_titles">
        <li class="current_title">
            Character 1
        </li>
        <li>
            Character 2
        </li>
        <li>
            Character 3
        </li>
        <li>
            Character 4
        </li>
    </ul>
    <ul id="menuv_characters_contents">
        <li>Text 1</li>
        <li>Text 2</li>
        <li>Text 3</li>
        <li>Text 4</li>
    </ul>
</div>

我的问题是:如何获取当前选中的标签页的名称或索引(标识符↓),以便相应地更改背景图片?

$('#menuv_characters_titles').css('background-image', 'url(img/'+Identifier+'.png)');

要获取当前所选选项卡的索引,您只需调用 $(this).index();

所以你可以这样做:

var Identifier = $(this).index();

$('#menuv_characters_titles').css('background-image', 'url(img/frame_'+Identifier+'.png)');

另外 .bind() 已被弃用,使用 .on() 代替您的点击事件或简单地调用:

tabs.click(function(){

如果您愿意,也可以将图像名称作为数据属性添加到 li

<li data-image="frame_1">text</li>

然后像这样在你的点击事件中拉动它:

var Identifier = $(this).data("image");

$('#menuv_characters_titles').css('background-image', 'url(img/'+Identifier+'.png)');