根据标签

时间:2017-05-05 18:05:15

标签: javascript jquery jquery-mobile

我有一个使用jquery mobile和nativedroid2构建的小应用程序。

我想知道是否可以根据标签名称更改页面标题名称?

示例http://jsfiddle.net/livewirerules/2a7so7r5/1/您将看到页面标题为Friends,我的有效标签为Friends,因此当我移至下一个标签时。 Work页面标题应相应更改

下面是我的演示JS代码

$(document).on("pagecreate", "#page1", function () {
    $("div[role=main]").on("swipeleft", function (event) {
        changeNavTab(true);
    });

    $("div[role=main]").on("swiperight", function (event) {
        changeNavTab(false);
    });
});

function changeNavTab(left) {
    var $tabs = $('ul[data-role="nd2tabs"] li');
    console.log($tabs);
    var len = $tabs.length;
    var curidx = 0;
    $tabs.each(function(idx){
        if ($(this).hasClass("nd2Tabs-active")){
            curidx = idx;
        }
    });

    var nextidx = 0;
    if (left) {
        nextidx = (curidx >= len - 1) ? 0 : curidx + 1;
    } else {
        nextidx = (curidx <= 0) ? len - 1 : curidx - 1;
    }
    $tabs.eq(nextidx).click();

}

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

您想要附加到每个标签项的点击处理程序。只需将此代码块添加到$(document)函数即可。并为页面标题元素设置一个id。

<h1 id="heading" class="wow fadeIn" data-wow-delay='0.4s'>Friends</h1>

$('ul[data-role="nd2tabs"] li').on('click',function(){
    $("#heading").html($(this).html());
});

这里有更新的小提琴 http://jsfiddle.net/2a7so7r5/18/

答案 1 :(得分:1)

我不知道期待什么,但这是我的方法 Modified example

function changeNavTab(left) {
    var $active = $('ul[data-role="nd2tabs"] li.nd2Tabs-active');
    if(left){
        var $moveto = $active.next().length ? $active.next() : $('ul[data-role="nd2tabs"] li:first');
    }else{
        var $moveto = $active.prev().length ? $active.prev() : $('ul[data-role="nd2tabs"] li:last');
    }
    var title = $moveto.text();
    $("h1.ui-title").text(title);
}