lul*_*ala 6 javascript jquery jquery-mobile
我有一些项目htmls,每个项目都包含一个JQM页面.我还有一个索引页面.它是一个多JQM页面的html,每个JQM页面都是列出项目的类别.
index.html item1.html item2.html
+------------------+ +--------+--------+ +--------
|+-------+ | +--|Cat. | Next|->|Cat.
||.cont- | | | +--------+--------+ |--------
||ent |+-------+|<----+ | | |
|+-------+|#cat1 || | | |
| | || |bla bla bla | |bla bla
| |link1+---------->| | |
| |link2 || | | |
| +-------+| +-----------------+ +--------
|+-------++-------+|
||#cat2 ||#cat3 ||
|| || ||
||link4 ||link3 ||
|| || ||
|+-------++-------+|
+------------------+
Run Code Online (Sandbox Code Playgroud)
目前我可以从索引链接到项目,平滑的ajax加载.但是我意识到如果我想从项目链接到索引#cat1,我需要使用data-ajax='false'索引是一个多页面的html.(我无法使用,data-rel='back'因为上一页并不总是index.html).
如果我使用ajax='false',如果我经常在列表和项目之间切换(每次切换回列表是完全重新加载),我将失去平滑过渡.例如:
-full-load-> index#cat1 -ajax-load-> item2 -full-load(再次) - > index#cat1
题
我想要:
-full-load-> index#cat1 -ajax-load-> item2 -ajax-switch-to-already-loaded-> index#cat1
我如何覆盖jquery移动逻辑,以便在data-ajax='false'单击链接时,它首先搜索该索引#cat1页面是否已经在dom中?如果是,则只需切换到该JQM页面.如果它不存在,请在没有ajax的情况下完全加载索引#cat1(如默认行为).
请记住,用户可以从item1.html开始并导航到index.html#cat1.
我知道我需要使用一些自定义属性标记每个JQM页面,data-full-url="index.html#cat1"以便更容易搜索现有页面.然而,我的主要弱点是如何更改现有的Jquery Mobile链接逻辑.
我已经用以下小提琴创造了你的情况。
1)索引页面:http://jsfiddle.net/nachiket/RpZW7/
2)详细项目页面:http://jsfiddle.net/nachiket/cHmhW/ (该页面已链接在索引页面fiddle中)
我没有使用 data-ajax='false',它能解决您的问题吗?如果没有,请根据您的具体情况更新此小提琴,这样可以提供更好的帮助。