有没有办法可以在各个页面中保存javascript变量?假设在页面AI设置window.someVar = 5.然后我通过点击A中的超链接移动到页面B,并做类似的事情alert(window.someVar)- 我应该得到一个显示的消息框5.是否有一种技术可以坚持someVar这样......?
我想以编程方式选择Fabrics.js对象.我需要做什么?例如,我正在添加两个这样的对象:
var canvas = new fabric.Canvas('canvas');
canvas.add(new fabric.Rect({
left: 100,
top: 100,
width: 75,
height: 50,
fill: 'green',
stroke: 'black',
strokeWidth: 3,
padding: 10
}));
canvas.add(new fabric.Circle({
left: 200,
top: 200,
radius: 30,
fill: 'gray',
stroke: 'black',
strokeWidth: 3
}));
Run Code Online (Sandbox Code Playgroud)
当我点击名为的按钮时,我有两个按钮
单击选择矩形按钮时,应选择矩形形状,单击选择第二个对象按钮时,应选择第二个对象圆.
这是解决方法的Jsfiddle.
我瞪着眼睛,厌倦了,在这里,我正在寻找一些如何开始.
编辑
我喜欢为每个对象提供ID,应该可以使用该ID选择对象,为什么我要问这是,在使用协作的东西时我们无法确定所有连接的节点都将具有相同的项目索引,所以唯一的ID将是有用的.
我试图以编程方式移动对象并获得成功,但是在通过编程方式移动对象后,它无法通过选择对象当前位置来选择对象,仍然可以通过我尝试过的旧位置选择对象canvas.calcOffset();仍然没有用.
如何使对象在其当前位置可选择我使用的代码,如下所示
使用Javascript
var canvas=new fabric.Canvas('canvas');
canvas.add(new fabric.Rect({
left:100,
top: 100,
width: 75,
height: 50,
fill: 'white',
stroke: 'black',
strokeWidth: 3,
padding: 10,
selectable: true
}));
function changePosition()
{
canvas.item(0).set({left:300});
canvas.renderAll();
canvas.calcOffset();
}
Run Code Online (Sandbox Code Playgroud)
HTML
<div>
<canvas id="canvas" width="400" height="400" style="border:1px solid red"/>
</div>
<input type="button" onclick="changePosition()" value="Change Possition"/>
Run Code Online (Sandbox Code Playgroud)
重现错误的步骤
我有这个页面做一些时髦的数据库的东西,需要几秒钟来处理,同时我想设置一个"wait"光标,以便用户不会翻转并继续点击按钮.我看过了
document.body.style.cursor = "wait"
事情,这个问题是它只有当鼠标位于页面主体上时才有效(即如果它在按钮上方仍显示正常指针).如何设置它以便无论页面上的鼠标位于何处,它都会显示等待图标?
这个问题的第二部分是,一旦完成它的事情,我该如何设置它?如果我将其设置回来"default",这似乎会覆盖"hover"我在CSS中设置的任何光标更改(因此当它超过指定对象时它不再成为一只手等).
编辑:第一个答案很好,除了在IE中它不刷新光标(所以你注意到光标类型的变化),直到你实际移动光标.任何修复?
我想使用选择框,然后在溢出时在选择框中显示滚动
css
#selectbox{
width:100%;
overflow: scroll;
}
Run Code Online (Sandbox Code Playgroud)
HTML
<div style="width:140px;">
<select name="selectbox" size="5" id="selectbox">
<option value="1">one two three four five six</option>
<option value="2">seven eight</option>
<option value="3">nine ten</option>
<option value="1">one two three four five six</option>
<option value="2">seven eight</option>
<option value="3">nine ten</option>
<option value="1">one two three four five six</option>
<option value="2">seven eight</option>
<option value="3">nine ten</option>
<option value="1">one two three four five six</option>
<option value="2">seven eight</option>
<option value="3">nine ten</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
但只显示垂直滚动。如何解决这个问题?
我试图通过正常函数访问全局变量,是否可能?
我使用$ rootScope设置了一些var,我试图通过回调函数来访问它.从控制器调用此回调.我不想传递$rootScope那个回调.
有没有办法访问$rootScope.var?
如果可能,我愿意使用服务.
请建议.
谢谢
我试图访问rootScope如下:
function fbLandingCtrl($scope, $rootScope) {
$rootScope.isFBLoggedin = false;
$scope.login = function() {
console.log( $rootScope.isFBLoggedin);
fbHelper.login(getUserInfo);
};
function getUserInfo(){
fbHelper.getUserInfo(updateStatus);
}
function updateStatus(userInfo){
$rootScope.isFBLoggedin = true;
console.log( $rootScope.isFBLoggedin);
}
}
Run Code Online (Sandbox Code Playgroud)
我的服务如下:
myapp.factory('FBService', [ '$rootScope', function ($rootScope) {
$rootScope.isFBLoggedin = false; // global variable
$rootScope.userName = null;
$rootScope.userEmail = null;
return {
getStatus: function() {
return $rootScope.isFBLoggedin;
},
setStatus: function(status) {
console.log("Status:"+status);
return $rootScope.isFBLoggedin = status;
}
};
}]);
Run Code Online (Sandbox Code Playgroud)
它在updateStatus fn下显示isFBLoggedin为true但它没有反映在视图上 …
每当我尝试更改段落的不透明度时,它会更改文本和背景的不透明度,我只想更改文本的背景,我该如何解决?
HTML
<div id="opener">
<p id="introText">
Adam Ginther is a<class id="blueText"> front-end developer</class> with an interest in responsive & mobile design
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
css
#opener {
background-image: url('images/background.jpg');
background-color: #373737;
height: 800px;
width: 100%;
position: fixed;
}
#introText {
width: 400px;
color: white;
background-color: black;
text-align: center;
display: table-cell;
position: absolute;
top: 50%;
left: 50%;
padding: 50px 80px 50px 80px;
font-family: 'Fenix', serif;
font-size: 1em;
}
#blueText {
color:#00aeff;
}
Run Code Online (Sandbox Code Playgroud) 如何减少两个视频标签之间的差距,我已尝试使用保证金和填充它没有工作任何帮助表示赞赏
我的HTML
<div class="videoTest">
<video controls="controls"></video>
<video controls="controls"></video>
<video controls="controls"></video>
<video controls="controls"></video>
</div>
Run Code Online (Sandbox Code Playgroud)
我的CSS
.videoTest > video{
border:1px solid red;
margin:0;
padding:0;
}
Run Code Online (Sandbox Code Playgroud) 我在div中有一个流畅的图像,在图像下面还有一个带文本的div.#text div是否可以获得与图像相同的大小?
<div id="container">
<img src="http://dummyimage.com/300x200/c7c1c7/fff.jpg">
<div id="text">Several standard dimensions are included in dummyimage.com including ad sizes and screen resolution sizes.</div>
</div>
#container {
display: inline-block;
height: auto;
max-width: 100%;
position: relative;
}
img {
max-width:100%; max-height:100%;
}
Run Code Online (Sandbox Code Playgroud)
我想像gmail聊天弹出窗口一样弹出窗口,以及我想像gmail一样弹出窗口.
一旦弹出完成,特定div应该在新窗口中打开,一旦弹出完成特定div应该放在已经存在的位置,到目前为止我能够弹出窗口带有以下代码的新窗口,但我不知道怎么做pop-in
请注意:一旦pop-out完成特定div应该在另一个窗口中打开,并且主窗口中的变量也应该在弹出窗口中可访问.
在Jsfiddle 弹出演示
<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js"></script>
//<![CDATA[
$(function(){
$('.popup').click(function (event) {
event.preventDefault();
window.open($(this).attr("href"), "popupWindow",
"width=600,height=600,scrollbars=yes");
});
});//]]>
</script>
</head>
<body>
<a href="http://google.com" class="popup">google</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
UPDATE
我已经找到了如何在新窗口中打开div的代码,如下所示,现在我能够在div中弹出包含内容的窗口,现在我需要知道如何在弹出窗口中访问变量值以及如何将弹出窗口附加到原始位置
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>
Popup demo
</title>
<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js">
</script>
</head>
<body>
<a href="#" class="popup">
google
</a>
<div id="toNewWindow">
Testing
<input type="button" onclick="test()" value="click">
</div>
<script type="text/javascript">
//<![CDATA[
$('.popup').click(function (event) {
event.preventDefault();
var w = window.open("","myWin","height=400px,width=600px");
w.document.write( $("#toNewWindow").html() );
$('#toNewWindow').detach();
});
var a=3;
function test() …Run Code Online (Sandbox Code Playgroud)