在屏幕大小调整时自动移动剑道通知

时间:2015-01-13 12:30:13

标签: c# kendo-ui asp.net-mvc-5

有人知道在调整窗口大小时如何移动剑道通知吗?即窗口全屏时。

我有一个问题,当有人将我的应用程序更改为全屏时,通知会覆盖一些链接,我想避免这种情况。

非常感谢任何帮助和建议。

1 个答案:

答案 0 :(得分:4)

您可以使用jQuery移动它。例如,要从右下角保留10个像素,您可以使用以下代码:

$(window).on('resize', function(e){
    var notificationContainer = $(".k-notification").parent();
    notificationContainer.css('top', $(window).height() - notificationContainer.outerHeight() - 10);
    notificationContainer.css('left', $(window).width() - notificationContainer.outerWidth() - 10);
});

请注意,如果您计划在时间上有多个通知,则需要更复杂的代码,否则它们会相互重叠:

//move all notfication starting 10px from bottom right corner
$(window).on('resize', function(e){
    var notifications = $(".k-notification");

    var maxTop = 0, lastElement;
    notifications.each(function(index, value){
        var thisPosition = $(value).parent().position();
        if(thisPosition.top > maxTop){
            maxTop = thisPosition.top;
            lastElement = $(value).parent();
        }
    });

    var newTop = $(window).height() - lastElement.outerHeight() - 10;
    var topChange = maxTop - newTop;

    notifications.each(function(index, value){
        var notificationContainer = $(value).parent();
        notificationContainer.css('top', notificationContainer.position().top - topChange);
        notificationContainer.css('left', $(window).width() - notificationContainer.outerWidth() - 10);
    });
});