鼠标滑动显示具体内容

        备份下,以后会用得着

          

/***********************************CSS*******************************************/

@charset "utf-8";
/* CSS Document */

.bg_total_div{ width:480px; height:auto;display:none;}
.bg_total_div div.top{ width:480px; height:10px;padding-left:10px; background-image:url(../images/bg_all.png); background-repeat:no-repeat; background-position:0px 0px;}
.bg_total_div div.middle{ width:468px; height:auto; border-left:1px #a3d5e5 solid; border-right:1px #a3d5e5 solid;padding-left:10px;
filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#e1f0f5,endcolorstr=#ffffff,gradientType=0)/*IE浏览器*/;
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#e1f0f5), to(#ffffff))/*谷歌浏览器*/;
background:-moz-linear-gradient(top,#e1f0f5,#ffffff)/*火狐浏览器*/; }
.bg_total_div div.down{ width:480px; height:10px;padding-left:10px; background-image:url(../images/bg_all.png); background-repeat:no-repeat; background-position:0px -15px;}

div.left_calendar_div div.main_div_title{ margin-bottom:5px;}
div.left_calendar_div div.mySchedule{text-align: center;}
div.left_calendar_div div.mySchedule div.sSubject{width: 100%; padding: 2px 0px 0px 0px;}
div.left_calendar_div div.mySchedule div.mouseoverCss{background-color: #e1f1ff;}

/***********************************HTML*******************************************/
<script type="text/javascript">
    $(function () {
        var WebPart = {
            ExchangeUrl: '<%= WebPart.ExchangeUrl %>',
            MaxItemCount: parseInt('<%= WebPart.MaxItemCount %>'),
            MaxCharSizePerItem: parseInt('<%= WebPart.MaxCharSizePerItem %>'),
            ShowSchedulerInNextDays: parseInt('<%= WebPart.ShowSchedulerInNextDays %>')
        }
        RenderMyScheduler('<%= MySchedulerList.ClientID %>', WebPart);
    });
</script>
<div id="MySchedulerList" class="mySchedulerList" runat="server">
    <p class="title" title='<%= WebPart.Description %>'>
        <span>
            <%= WebPart.Title%></span></p>
    <span class="more"><a href="#" onclick="openwin_Scheduler<%=MoreUrl %>">>>更多</a>
    </span>
   <div id="sSubject" class="sSubject" style="text-align: left; height: 140px; overflow: auto;">
        </div>
    <div class="img">
        &nbsp;</div>
</div>
<div id="sBody"  style="position: absolute; width: 480px; padding-left: 5px; z-index:999; text-indent:">

</div>

/***********************JS代码************/
/**************************************************************
* Author: Jerry Bai
* Create Date: 2011/9/13
* Description: Render my scheduler from json string
* Licence: BSD
***************************************************************/
function RenderMyScheduler(MySchedulerListID, WebPart) {
    $("#sSubject").empty()
    $("#sBody").empty();
    $.ajax({
        url: '/_layouts/CIMC.EIP.GPortal.UI/MyScheduler.ashx',
        dataType: 'text',
        timeout: 300000,
        data: 'ExchangeUrl=' + encodeURIComponent(WebPart.ExchangeUrl) + '&MaxItemCount=' + WebPart.MaxItemCount.toString() + '&ShowSchedulerInNextDays=' + WebPart.ShowSchedulerInNextDays,
        success: function (response) {
            if (typeof response == "string") {
                response = response.toJson();
            }
            if (response && response.data) {
                var schedulerItemHTML = '';
                for (var i in response.data) {
                    var calendarItem = response.data[i];
                    var startTime = calendarItem.StartTime.substr(0, 16);
                    var endTime = calendarItem.EndTime.substr(0, 16);
                    var startDate = calendarItem.StartTime.substr(0, 10).toDate();
                    var todayOrTomorrow = '';
                    var _today = new Date();
                    var _todayYear = parseInt(_today.getFullYear());
                    var _todayMonth = parseInt(_today.getMonth());
                    var _todayDay = parseInt(_today.getDate());
                    _today = new Date(_todayYear, _todayMonth, _todayDay);
                    if (startDate.valueOf() < new Date(_todayYear, _todayMonth, _todayDay).setDate(_today.getDate() - 2)) {
                        todayOrTomorrow = '';
                    }
                    else if (startDate.valueOf() == new Date(_todayYear, _todayMonth, _todayDay).setDate(_today.getDate() - 2)) {
                        todayOrTomorrow = '';
                    }
                    else if (startDate.valueOf() == new Date(_todayYear, _todayMonth, _todayDay).setDate(_today.getDate() - 1)) {
                        todayOrTomorrow = '';
                    }
                    else if (startDate.valueOf() == new Date(_todayYear, _todayMonth, _todayDay).valueOf()) {
                        todayOrTomorrow = '';
                    }
                    else if (startDate.valueOf() == new Date(_todayYear, _todayMonth, _todayDay).setDate(_today.getDate() + 1)) {
                        todayOrTomorrow = '';
                    }
                    else if (startDate.valueOf() == new Date(_todayYear, _todayMonth, _todayDay).setDate(_today.getDate() + 2)) {
                        todayOrTomorrow = '';
                    }
                    else {
                        todayOrTomorrow = '';
                    }

                    schedulerItemHTML += '<div class="myScaheduleTitle">';
                    schedulerItemHTML += todayOrTomorrow + startTime.split(' ')[1].substr(0, 5);
                    schedulerItemHTML += '<a href="';
                    schedulerItemHTML += calendarItem.Source == WebPart.ListTitle ? WebPart.ItemDetailUrlFormatString.replace('{0}', calendarItem.Identity) : ('#" onclick="openwin_Scheduler' + calendarItem.CategoryName);
                    schedulerItemHTML += '">';
                    schedulerItemHTML += calendarItem.Subject.SpecifiedLengthString(parseInt(WebPart.MaxCharSizePerItem));
                    schedulerItemHTML += '</a>';
                    schedulerItemHTML += '</div>';
                    $("#sSubject").append(schedulerItemHTML);
                    schedulerItemHTML = "";
                    //add by hai wang 
                    $("#sBody").append($('<div class="bg_total_div"><div class="top" ></div>' + '<div class="middle myScaheduleBody"><ul><li>标题:' + calendarItem.Subject + '</li><li>时间:' + startTime + '' + endTime + '</li><li>地点:' + calendarItem.Location + '</li><li>内容:' + calendarItem.Body + '</li></ul></div>' + '<div class="down"></div></div>'));
                }
                var $subject = $("#sSubject").children();
                $.each($subject, function (index, sub) {
                    var $curS = $(sub);
                    var $curB = $("#sBody").children().eq(index);
                    var $wHeight = $(window).height(); //window height
                    var $bWidth = $("#sBody").outerWidth();
                    var $bHeight = $curB.outerHeight();
                    //var $curP = $wHeight - $curS.offset().top;
                    var $theHeight = 400; //设定上限高度
                    if ($curB.height() > $theHeight) {
                        $curB.css("height", $theHeight + "px");
                    }
                    var $left = $curS.offset().left - $bWidth;
                    if ($left < 0) {
                        $left = $curS.offset().left + $curS.width();
                    }

                    $(sub).mouseover(function (e) {
                        $curS.addClass('mouseoverCss');
                        //$("#sBody").css({ "top": (e.pageY) + "px", "left": (e.pageX) + "px" });//位置跟随鼠标移动
                        if ($bHeight < $theHeight) {
                            $("#sBody").offset({ top: ($curS.offset().top - $bHeight / 2), left: $left }); ; //绝对定位
                        } else {
                            $("#sBody").offset({ top: ($curS.offset().top - $theHeight / 2), left: $left }); ; //绝对定位
                        }
                        $curB.show();
                    }).mouseout(function () {
                        $curS.removeClass('mouseoverCss');
                        $curB.hide();
                    });
                    //鼠标放入详细面板显示
                    $curB.mouseover(function () {
                        $curS.addClass('mouseoverCss');
                        $curB.show();
                    }).mouseout(function () {
                        $curS.removeClass('mouseoverCss');
                        $curB.hide();
                    });
                });
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            Firebug.debug('Call RenderMyScheduler fail' + textStatus + '\r\n Request Url:' + this.url);
        }
    });
}

posted on 2012-09-19 16:12  hardy_Wang  阅读(306)  评论(0编辑  收藏  举报

导航