我一直在设计网站一段时间,但有一件事我在使用PHP和HTML时从未确定过.用PHP和echoHTML这样的整个文档更好吗:
<?php
doSomething();
echo "<div id=\"some_div\">Content</div>";
?>
Run Code Online (Sandbox Code Playgroud)
或者像这样的HTML文件,只需添加PHP:
<html>
<body>
<?php doSomething(); ?>
<div id="some_div">Content</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
echoHTML 似乎更整洁,特别是如果在整个页面中使用大量PHP,但这样做会丢失HTML的所有格式,即IDE中的颜色等.
我一直在与Raphael合作,在画布上创建拖放形状.我使用.drag()函数(在Raphael框架中提供)和我的事件函数来完成此操作.我这样做没有问题.
我还有一个在dblClick上创建一个新形状的函数,问题是,我只能将事件附加到形状或我创建的其他元素.
向形状添加事件的方式如下:
R = Raphael("canvas", "100%", "100%"),
R.rect(100, 100, 25, 50).attr({fill: fillColor}).dblclick(myDblClick);
Run Code Online (Sandbox Code Playgroud)
在画布上使用相同的原理不起作用:
R = Raphael("canvas", "100%", "100%"),
R.dblclick(myDblClick);
Run Code Online (Sandbox Code Playgroud)
有没有人知道将点击事件附加到画布的方法,即我可以点击div中的任何位置(不包括形状),然后触发事件.
谢谢.
在过去的几天里,另一个问题一直在盯着我.正如您可能从我的其他问题中看到的那样,我正在创建一些思维导图软件.所以(非常简化)我有两个div.一个是页面上的正方形,另一个在div内部,大约是可拖动的10倍.这样可以将对象放置在屏幕上,然后稍微移动到侧面,同时添加另一个对象等.我通过创建外部div可滚动来实现这一点.
我遇到的问题与java脚本中的鼠标位置有关.如果我将鼠标放在div中的任何位置它将不正确,因为我将内部div的大小减半到顶部和左侧(因此用户有效地看着画布的中间并且可以按照他们喜欢的任何方式) .我已经尝试了数十种不同的鼠标坐标功能,但这些功能似乎都不起作用.我在网络上找到的应该是跨浏览器的示例是:
function getMouse(e) {
var posx;
var posy;
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft + document.getElementById("canvas").scrollLeft;
posy = e.clientY + document.body.scrollTop + document.getElementById("canvas").scrollTop;
}
} //getMouse
Run Code Online (Sandbox Code Playgroud)
但即使这样也行不通.我几乎可以肯定错误是因为我的内部div是可拖动的.希望我在尝试解释时有一些意义,但如果我没有这里是一个非常简单的jsfiddle,试图证明我的情况(虽然这里没有鼠标点击,纯粹是为了演示我的div结构).在我制作的产品中,用户将双击画布并显示一个新对象,因此鼠标坐标需要正确的原因.
我希望有人可以帮助我.
提前致谢.
编辑:未能提到我的部分应用程序,我使用JQuery所以无论是否有JQuery的解决方案都没问题.再次感谢.
所以我刚开始使用HTML5和Canvas元素.我正在开发一个我将创建思维导图的项目,我计划使用Canvas元素和java脚本一起完成.
我的问题是,如何在画布中将形状组合在一起?我没有问题在画布上绘制形状和文本,并且没有问题在画布上拖动它们.我想要做的是锁定一个形状和文本元素,以便如果我拖动形状,文本随之而来.
有任何想法吗?
提前致谢.
所以我一直在玩像facebook一样的按钮,但我遇到了一个问题.我有一个关于我在这里做的一些慈善工作的facebook页面:
http://www.facebook.com/Adam.Holmes.Climbs.Kilimanjaro.
我还有一个网页上有相同的信息.在这个网页中,我有一个类似Facebook的按钮,以便用户可以像这里看到的页面一样:
http://developers.facebook.com/docs/reference/plugins/like/.
现在我的问题是单独的按钮.在Facebook页面中,我添加了一些用户已经"喜欢"和评论等的图像.我现在已经在我的网页上放置了相同的图像,我想为每个图像添加一个类似Facebook的按钮,从而显示所有喜欢的内容图片在facebook上有.我已将许多不同的链接插入到类似按钮中,但它们似乎都不起作用.我试过a)页面的网址.b)图像的网址.c)操纵不同网址的随机位和蝙蝠.
我试图查看javascript源代码,但这对我的理解来说太复杂了.我知道从按钮调用函数fc_click()进一步调用另一个函数,不久之后我迷路了,并且没有找到使用的url.
所以我想我的问题是,在"喜欢"脚本中放置的url是什么,以便我可以在facebook外部使用like按钮?
如果需要更多信息,请说明.
非常感谢你 :)
更新:我一直在尝试所有不同的组合或URL,但仍然没有运气.其中一个"喜欢"按钮的对象是图形中的对象,即这是我想要的对象.但这些链接都没有起作用.也许facebook限制了这一点,因为它很容易使用页面的网址,它工作正常,只是不是单个项目.
我可以再补充一点,我需要的是放置在标签并不仅仅是为了能够检索喜欢和评论的计数的链接等等.我也开始了话题在Facebook上的开发者论坛在这里,但没有人有回答了一个解决方案.
再次感谢.
更新2: 正如"Myles Gray"所指出的,代码实际上在HTML中呈现为:
<label onclick="this.form.like.click();">
我不确定是否有办法从外部页面访问表单,因为没有正确的this引用.是否有人能够阐明是否可以做到这一点,如果可以的话,怎么做?当然,如果可以做到这一点,正确引用this将允许我在外部喜欢内容.
我已经开始创建一个网站,用户可以被有效地跟踪(他们知道他们正在被跟踪).用户将走一条特定的路线(更准确地说是英国曼彻斯特),其中有10个检查站.检查点是地图上的静态位置.使用Google Maps API我知道我可以在地图上绘制一个位置,即检查点.我还存储用户到达所述检查点的时间.考虑到检查点之间的距离,我可以使用基本数学计算它们的平均速度.
现在我想做的是根据他们的速度绘制他们的估计位置.我遇到的困难是从沿路线的当前位置绘制一个新的位置x英里/米(任何单位).
如果它是一条直线,这将是简单的.
要使用图像扩展我的示例:

想象一下,用户在上午07:00到达第一位置标记,并且估计他们将在上午09:00到达第二位置标记.现在(例如)的时间是上午08:00,意味着(估计)用户应该在标记之间的大约一半.然后我会计算他们走过的距离(再次,估计)并在地图上绘制距离第一位标记"距离"的位置.
希望我已经清楚地解释了这个场景,让人们理解.
我对Google Maps API比较陌生,所以任何想法都会有所帮助.其他类似的问题已在SO上提出,但从我所看到的情况来看,没有人回答或要求我提供尽可能多的细节.
提前致谢.
更新:花了很多时间试图解决这个问题我失败了.这就是我所知道的:
在切换的情况下,我注意到当我尝试使用参数作为case常量时,我得到一个编译错误.但我可以使用字段/本地变量.
是否真的不可能将参数用作案例常量?或者有例外(如果有,请提供一个例子)?
例:
final int field = 0;
void method( final int parameter) {
switch( 3) {
case field: // ALLOWED
case parameter; // NOT ALLOWED
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试直接使用该参数.我对在本地var中保存参数值的解决方案不感兴趣.
我目前正在开发一个网站,以后将会有所回应.该网站主要由图像组成,而这些图像在点击时又会加载到FancyBox中.FancyBox的v2现在具有响应性,因此在屏幕尺寸变化时重新调整图像等大小.作为我设计的一部分,我有两个固定横幅出现在页面的顶部和底部,见下图:
默认情况下,FancyBox周围有一个边距,因此它的样式很好.然而,随着我添加到横幅的固定定位,我需要增加顶部和底部边距.我已经查看了JS源码,但我不能在我的生活中找到我应该添加额外余量的地方.在过渡等方面有各种各样的利润(我认为这是我感到困惑的地方).
理论上我只需要在边距上添加"x"像素,其中x是横幅的高度.另外,我不确定如何在响应式设计中复制它,因为横幅在移动设备上可能稍微浅一些.添加边距意味着图像和横幅之间存在微小差距,当前图像位于横幅后面.请参阅下图,了解我希望它的样子:

我很感激以前做过这些事情的想法/例子.
亚当,先谢谢你.
javascript ×5
jquery ×3
canvas ×1
css ×1
distance ×1
facebook ×1
fancybox ×1
fancybox-2 ×1
formatting ×1
frameworks ×1
google-maps ×1
html ×1
html5 ×1
java ×1
mouse ×1
php ×1
raphael ×1
scrollable ×1