yii中延迟加载模块

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="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>

转载于:https://my.oschina.net/wsyblog/blog/692355

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值