您的位置:首页 > 编程语言 > PHP开发

yii中延迟加载模块

2016-06-15 00:00 615 查看
1.在view中设置好div和相应的加载的loading的span或者img。
2.在js中通利用$(document).ready(function () {}加载完页面后进行ajax回调获取数据。
3.在controller中调用model里面的方法处理并获取数据。
4.在controller中利用renderpartial方法加载特定的view模块。
5.返回隐藏loading并在相应的div中显示出加载出的html代码。

view中:

### <?php echo Yii::t('manager', 'Tag'); ?>

<div class="dashboardtag">
<span id="tag_loading">loading.......</span>
<div class="tagshow"></div>
</div>

js:

$(document).ready(function () {
jQuery.ajax({
url: '<?php echo Yii::app()->createAbsoluteUrl('Master/dashboard/getTag');?>',
type: "POST",
dataType: "json",
success: function (tagmsg) {
if (tagmsg.result == "success") {
// 如果成功就执行下一步
$('#tag_loading').hide();
$('.dashboardtag').find('.tagshow').html(tagmsg.data);
//tagpopup的代码
$('.tarBBar').click(function () {
$('.dashPopup2,.modal-backdrop').show();
$('.dashPopup2').css('margin-top', -$('.dashPopup2').height() / 2 + 'px');
});
$('.dashPopup2').find('.closeBb').click(function () {
$('.dashPopup2,.modal-backdrop').hide();
$('.dashPopup2').find('.dashUl').html('');
$('.active').removeClass('active');
});
}
}, error: function (obj, errmsg) {
$('#J_prev').removeAttr("disabled");
}
});
});

controller中:

$dashboardtag = new Dashboard($month_two, $month_three, $month_one, $month_two2);
$dashboard_tag = $dashboardtag->getTag($access_accounts);
//dashboard_tag中是对应的特殊div模块
$data =$this->renderPartial('dashboard_tag',array('dashboard_tag'=>$dashboard_tag),true);
echo json_encode(array(
'result' => 'success',
'data' => $data,
));

特殊的div(dashboard_tag包括popup的div):

<div class="tarBBar tapopup" id="tag">
<div class="rate_numbers">
<span><span><?php echo 'User Tagged   ' ?></span><span
style="font-size: 24px;margin-left: 12px;"><?php echo $dashboard_tag['new']['taged']; ?></span></span>
<span class="<?php
if ($dashboard_tag['rate'] > 0) {
echo 'en number-up';
} else if ($dashboard_tag['rate'] < 0) {
echo 'en number-down';
} else {
echo 'n-a';
} ?>"><?php echo -$dashboard_tag['rate'] . '%'; ?></span>
</div>
<p><?php echo $dashboard_tag['new']['taged'] ?>
vs <?php echo $dashboard_tag['old']['taged']; ?></p>

<div class="rate_numbers">
<span><?php echo 'Percentage Tagged   ' ?> </span><span
class="<?php
if ($dashboard_tag['uprate'] > 0) {
echo 'en number-up';
} else if ($dashboard_tag['uprate'] < 0) {
echo 'en number-down';
} else {
echo 'n-a';
} ?>"> <?php echo $dashboard_tag['uprate'] . '%'; ?></span>
</div>
<p><?php echo $dashboard_tag['new']['rate'] . '%'; ?>
vs <?php echo $dashboard_tag['old']['rate'] . '%'; ?></p>
</div>

<div class="dashPopup2">
<h3><?php echo Yii::t('manager', 'Tag'); ?></h3>

<div class="closeBb"></div>
<div class="dashUl2">
<?php foreach ($dashboard_tag['data'] as $dashboardtag): ?>
<div class="
3ff0
;dashTb"><h4><?php echo $dashboardtag['name']; ?> </h4>

<div class="rate_number"><span class="<?php
if ($dashboardtag['rate'] > 0) {
echo 'en number-up'; ?>"><?php echo $dashboardtag['rate'] . '%'; ?></span>
<?php
} else if ($dashboardtag['rate'] < 0) {
echo 'en number-down'; ?>"><?php echo $dashboardtag['rate'] . '%' ; ?></span>
<?php
} else if ($dashboardtag['rate'] === '--') {
echo ''; ?>"><?php echo '--'; ?></span>
<?php
} else{
echo 'n-a';?>"><?php echo '0%'; ?></span>
<?php
} ?>
</div>
<div class="count_number"><?php echo $dashboardtag['new']['taged']; ?>
vs <?php echo $dashboardtag['old']['taged']; ?></div>
</div>
<?php endforeach; ?>
</div>
</div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: