Dea*_*ean 7 javascript jquery knockout.js
尝试对浏览器窗口执行某些操作:
$(window).width(), $(window).height()使用Knockout 使窗口大小()可观察?任何建议表示赞赏!
mad*_*kay 10
使它们可观察的唯一方法是将它们代理为可观察的属性.
var yourViewModel = {
width: ko.observable(),
height: ko.observable()
};
var $window = $(window);
$window.resize(function () {
yourViewModel.width($window.width());
yourViewModel.height($window.height());
});
Run Code Online (Sandbox Code Playgroud)
我真的不明白你的第二个问题.难道你不能只用这个css吗?
编辑
第二个问题.一种可能性是写一个绑定处理程序来执行此操作(未经测试).
ko.bindingHandlers.center {
init: function (element) {
var $el = $(element);
$el.css({
left: "50%",
position: "absolute",
marginLeft: ($el.width() / 2) + 'px'
});
}
}
Run Code Online (Sandbox Code Playgroud)
50%和margin-left是在场景中居中的好方法,因为即使调整窗口大小,它也会自动生效.显然,如果div自身调整大小,则需要重新计算左边距,这可能始终绑定到viewmodel上的值.希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
9996 次 |
| 最近记录: |