我试图让Divs随机出现在网页上的任何地方使用javascript.因此div出现然后消失,然后另一个div出现在页面上的其他地方然后消失,然后另一个div再次出现在页面上的另一个随机点然后消失,依此类推.我不确定如何生成像素的随机单位或用于生成随机位置的技术.
我怎么做?这是我的代码:
var currentDivPosition = myDiv.offset(),
myDivWidth = myDiv.width(),
myDivHeight = myDiv.height(),
var myDiv = $('<div>'),
finalDivPositionTop, finalDivPositionLeft;
myDiv.attr({ id: 'myDivId', class: 'myDivClass' }); // already defined with position: absolute is CSS file.
// Set new position
finalDivPositionTop = currentDivPosition.top + Math.floor( Math.random() * 100 );
finalDivPositionLeft = currentDivPosition.left + Math.floor( Math.random() * 100 );
myDiv.css({ // Set div position
top: finalDivPositionTop,
left: finalDivPositionLeft
});
$('body').append(myDiv);
myDiv.text('My position is: ' + finalDivPositionTop + ', ' + finalDivPositionLeft);
myDiv.fadeIn(500);
setTimeout(function(){
myDiv.fadeOut(500); …Run Code Online (Sandbox Code Playgroud) 请问,有人可以告诉我this.init.apply(this, arguments)下面的代码做了什么吗?
我理解apply()一般情况下是什么,但在下面的代码中,它在那里做了什么?
var Class = function() {
var klass = function() {
this.init.apply(this, arguments); //I don't really get this bit...
};
klass.prototype.init = function(){};
return klass;
};
var Person = new Class;
//Usage
var someone = new Person;
Run Code Online (Sandbox Code Playgroud)
我看到很多人都在使用它.我已经知道它做了什么,但不能真正把它放在手上,所以我需要更多光线.
我在JS上升了一个级别,所以我想知道它的一切,而不仅仅是简单的'Hello world'级别.
非常感谢
我只是想增加我的核心JavaScript知识.
有时我看到这个陈述,但我不知道它的作用:
var var1 = var1 || [];
Run Code Online (Sandbox Code Playgroud)
它意味着什么和/或它是什么,以及如何使用它?
谢谢.
我到处都看,但无济于事.
我得到了<legend>一个表单,除了Chrome之外,它在每个浏览器中显示我想要的内容.它就像它位于fieldset之外,或者就像它位于下一个元素之上.这非常烦人.我甚至不能把利润放在上面.
为什么它以这种方式显示?
有解决方法吗?
HTML:
<fieldset class="col-12-box-bottom add-extras">
<legend class="plus">Add Promotion Code</legend>
<ul id="promo-fields">
<li><input class="field-small" type="text" /></li>
<li><button class="but-sec" type="submit">Apply</button></li>
</ul>
</fieldset>
Run Code Online (Sandbox Code Playgroud)
CSS:
.add-extras legend{
width: 260px;
height: 0px;
border: 1px solid red;
display: block;
margin-top: 10px;
}
.add-extras fieldset{
position: relative;
}
.add-extras ul{
padding: 0 0 20px 0 !important;
overflow: hidden;
}
.add-extras li{
list-style-type: none;
float: left;
margin: 0 18px 0 0;
}
.add-extras li:last-child a{
color: #afafaf;
display: block;
margin: 27px 0px 0 …Run Code Online (Sandbox Code Playgroud) 我到处寻找答案,但对我发现的东西不满意.
问题是,我正在从Addy Osmani做一个教程,在Backbone中制作一个'Todo'应用程序,但当我看到控制台时,我得到一个错误说this.model is undefined.
我甚至试过这个SO回答Backbone模型错误显示在控制台中,但我仍然得到相同的错误.请告诉我有什么问题.
顺便说一句,什么是this.model或this.collection?我有一个想法,他们参考Backbone.Model,Backbone.Collection但他们如何工作?我问这是因为在另一个教程this.collection和this.model.models也是不确定的,当我明确的Model和Collection.
非常感谢
JS:
//Model
var Todo = Backbone.Model.extend({
defaults: {
title: 'Enter title here',
completed: true
},
validate: function(attrs) {
if (attrs.title === undefined) {
return 'Remember to enter a title';
}
},
initialize: function() {
console.log('This model has been initialized');
this.on('change:title', function() {
console.log('-Title values for this model have changed');
});
this.on('invalid', function(model, …Run Code Online (Sandbox Code Playgroud) 当用户单击浏览器的Maximized/Restore Down或Minimized按钮时,有没有办法用javascript跟踪这些事件?是否有适当的事件或财产可供使用?
我希望当用户点击浏览器右上角的"最大化"按钮时,网页应该延伸到特定宽度,当浏览器处于可调整大小模式时,网页可以调整大小.
请有人帮帮我吗?我不介意javascript或jquery.
提前致谢.
我在哪里可以找到使用gRaphael在网络上生成数据表示的教程?似乎没有在线文档.
非常感谢
我正在尝试从JSON返回每个项目对象并使用它来评估其值angular.forEach(),但只返回最后一项.由于我不能进行任何评估.有趣的是,如果我这样做console.log(),它会逐一显示每个项目.
我如何获得每件商品并对其进行评估?
如果你知道更好的方法,请教我.
JS(angularjs):
angular.module('bLiApp')
.controller('AddDataCtrl', ['$scope', 'DataService', function ($scope, DataService) {
DataService.getItems().success(function(data) {
$scope.items = data.category.items;
angular.forEach($scope.items, function(item) {
// This is where I'm having problem with return data...
if (item.amount < 600) {
$scope.amountchecker = 'low';
} else if (item.amount >= 600 && item.amount <= 650) {
$scope.amountchecker = 'average';
} else if (item.amount > 650) {
$scope.amountchecker = 'too high';
}
});
});
}]);
Run Code Online (Sandbox Code Playgroud)
HTML(angularjs):
<div class="add-data" ng-controller="AddDataCtrl">
<div class="data-box clearfix" ng-repeat="item in …Run Code Online (Sandbox Code Playgroud) 我遇到了一些我从未见过的东西,我喜欢它.检查以下示例:
var arr = ['un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept'];
for(var i = 0; arr[i]; i++){
console.log( arr[i] );
}
Run Code Online (Sandbox Code Playgroud)
代替:
for(var i = 0; i < arr.length; i++){
console.log( arr[i] );
}
Run Code Online (Sandbox Code Playgroud)
但是它们都实现了相同的结果,即输出数组列表.
我的问题是,在for循环声明中使用'arr [i]'和'arr.length'之间的区别(或相似性)是什么?
非常感谢
我有点困惑.在我的小项目中,我使用的是Jasmine,Require.js,Phantomjs和Grunt(所有这些都来自Yeoman).所以当grunt test在终端中运行我时,我收到错误:
>> ReferenceError: Can't find variable: define at
>> test/spec/testSpec.js:15
Warning: No specs executed, is there a configuration error? Use --force to continue.
Aborted due to warnings.
Run Code Online (Sandbox Code Playgroud)
但是当我在浏览器中执行测试时,测试很顺利......
这是我简单的测试规范:
define(['spec/test'], function(Test) {
describe('Test for unit-test', function() {
describe('Test namespace', function() {
it('should be defined', function() {
expect(Test).toBeDefined();
});
});
});
});
Run Code Online (Sandbox Code Playgroud)
模块:
define([], function () {
var Test = {};
return Test;
});
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?
非常感谢