baodao_yishu.html:
<script id="acti-template" type="text/x-dot-template">
{{ for(var i=0;i<it.data.length;i++){ }}<div class="zhuti-item zhuti-item-left" tapmode data-frameName="frm_museum_info" data-id="1" data-title="陕西历史博物馆" data-imageUrl="../image/zhuti/shanbo.png" data-winName="win_museum_index" οnclick="openMuseumById(this)" > this就把前面所有的东西都打包了,如data-id、data-title、data-imageUrl、data-winName,然后调用openMuseumById函数
<div class="zhuti-item-inner">
<img class="lazy" data-original="{{=it.data[i].thumb_url}}"/>
<span class="zhuti-item-name">{{=it.data[i].name}}</span>
</div>
</div>
{{ } }}
</script>
<script type="text/javascript" src="../script/common.js"></script>
function openMuseumById(obj){ 这个函数里obj就是上面传下来的this
var popmenu = $api.dom('#popmenu');
var visible = $api.attr(popmenu,'visible');
if(visible=='1'){
$api.css(popmenu,'display:none');
$api.attr(popmenu,'visible','0');
}
else{
openWinWithObj('museum',obj); 调用openWinWithObj函数,传过去一个是字符串"museum"用到后面打开museum.html,一个是obj
}
}
common.js: openWinWithObj函数在common.js中
function openWinWithObj(name,obj) {
var museumid = $api.attr(obj,'data-id'); 用这个方法即可获取obj中的data-id,赋值给museumid
//alert('museumid :' + museumid);
api.openWin({
name: name,
url: name+ '.html', 这两句打开museum.html这个页面
opaque: true,
vScrollBarEnabled: false,
hScrollBarEnabled:false,
animation:{
type:"push",
subType:"from_right",
duration:300
},
pageParam: {museumid:museumid} !!!!!!!!!这个将museumid这个参数传给下一个页面,这个就是这篇博客的重点!!!!!!
});
}
museum.html: museum.html页面要用到上一个页面传过来的museumid
<script type="text/javascript">
apiready = function(){
//var hTitle = $api.dom(".header-title");
//$api.text(hTitle,api.pageParam.title);
initHeader();
api.showProgress({
style: 'default',
animationType: 'fade',
title: '努力加载中...',
text: '先喝杯茶...',
modal: true
});
var museumid = api.pageParam.museumid; api.pageParam.museumid,就可以读到common.js中传过来的bodao_yishu.html中的 username,赋值给刚刚声明的变量museumid
//alert(api.pageParam.museumid);
getMuseumBasicInfo(museumid); 这里就是用现在的museumid应用到另一个叫做getMuseumBasicInfo的函数里了。
};
</script>