小编Chr*_*ong的帖子

jQuery/JavaScript碰撞检测

如何检测两个<div>元素是否发生碰撞?

两个div是相互垂直的简单彩色盒子,因此没有复杂的形状或角度.

html javascript jquery collision-detection

75
推荐指数
5
解决办法
7万
查看次数

从Javascript中的嵌套函数返回值

我有一个功能,设置如下

function mainFunction() {
      function subFunction() {
            var str = "foo";
            return str;
      }
}

var test = mainFunction();
alert(test);
Run Code Online (Sandbox Code Playgroud)

根据我的逻辑,该警报应该返回'foo',而是返回undefined.我究竟做错了什么?

更新:这是我的实际代码(它是使用Google API进行反向地理编码的功能)

function reverseGeocode(latitude,longitude){
    var address = "";
    var country = "";
    var countrycode = "";
    var locality = "";

    var geocoder = new GClientGeocoder();
    var latlng = new GLatLng(latitude, longitude);

     return geocoder.getLocations(latlng, function(addresses) {
     address = addresses.Placemark[0].address;
     country = addresses.Placemark[0].AddressDetails.Country.CountryName;
     countrycode = addresses.Placemark[0].AddressDetails.Country.CountryNameCode;
     locality = addresses.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName;
     return country;
    });   
   }
Run Code Online (Sandbox Code Playgroud)

javascript nested return function return-value

54
推荐指数
1
解决办法
9万
查看次数

从PHP访问JavaScript变量

我需要使用PHP访问JavaScript变量.这是我正在尝试的代码的精简版本,但是没有用:

<script type="text/javascript" charset="utf-8">
    var test = "tester";
</script>

<?php
    echo $_GET['test'];
?>
Run Code Online (Sandbox Code Playgroud)

我对JavaScript和PHP都是全新的,所以我非常感谢任何建议.

更新:好的,我想我简化了太多.我要做的是创建一个表单,在提交时更新Twitter状态.我的表单工作正常,但我还要添加地理位置数据.由于我使用Javascript(特别是Google Geolocation API)来获取位置,因此在提交表单时如何使用PHP访问该信息?

javascript php variables

27
推荐指数
1
解决办法
14万
查看次数

解析Twitter API日期戳

我正在使用twitter API返回状态更新列表及其创建时间.它以下列格式返回创建日期:

Fri Apr 09 12:53:54 +0000 2010

什么是最简单的方法(用PHP或Javascript)来格式化这个像09-04-2010?

javascript php twitter time parsing

27
推荐指数
3
解决办法
2万
查看次数

网页可以使用多长时间?

有点奇怪的问题,但有没有人知道网页长度的实际限制,为什么它是限制?

作为一项实验,我使用HTML和CSS制作一个代表1:1比例的旅程的网站.我有一个标记的列表,我在css中用大边距分隔.但是,到目前为止,我可以开始工作的最长保证金是

top-margin:100000cm;
Run Code Online (Sandbox Code Playgroud)

由于有43个列表项,相当于4,300,000厘米,或43公里.有没有人知道为什么它会达到这个标记的极限,或者我怎么可能更长时间?我目前正在使用Safari进行测试.

html css

19
推荐指数
2
解决办法
2726
查看次数

使用Javascript更改所选文本的CSS

我正在尝试制作一个javascript书签,它将充当荧光笔,在按下书签时将网页上所选文本的背景更改为黄色.

我正在使用以下代码来获取所选文本,并且它工作正常,返回正确的字符串

function getSelText() {
var SelText = '';
if (window.getSelection) {
    SelText = window.getSelection();
} else if (document.getSelection) {
    SelText = document.getSelection();
} else if (document.selection) {
    SelText = document.selection.createRange().text;
}
return SelText;
Run Code Online (Sandbox Code Playgroud)

}

但是,当我创建一个类似的函数来使用jQuery更改所选文本的CSS时,它不起作用:

function highlightSelText() {
var SelText;
if (window.getSelection) {
    SelText = window.getSelection();
} else if (document.getSelection) {
    SelText = document.getSelection();
} else if (document.selection) {
    SelText = document.selection.createRange().text;
}
$(SelText).css({'background-color' : 'yellow', 'font-weight' : 'bolder'});
Run Code Online (Sandbox Code Playgroud)

}

有任何想法吗?

javascript css jquery bookmarklet highlighting

11
推荐指数
2
解决办法
1万
查看次数

jQuery form.submit()刷新页面而不是提交

我正在使用.submit()来检测表单何时提交,但它不是执行其附加功能,而是刷新页面.

我正在构建一个用于在http://chris-armstrong.com/familytree上绘制族树图(使用嵌套列表)的工具.

要添加后代,您可以打开控件,并将其添加<li class="add_member">+</li>到每个<ul>(或代).

当你点击一个上<li class="add_member">+</li>元素,它取代了+<form class="add_member>包括的<input><submit>按钮.然后我用来$("form.add_member").submit()检测单击提交按钮的时间,然后它应该用表单的内容替换表单<input>,但此时它只刷新页面(并向URL添加?).

我有什么想法我做错了吗?我已经附上了下面的全部功能.

function addAddListeners() {
            $('li.add_member').click(function(){

            //create input form
            $(this).html("<form class='add_member'><input id='fn_' placeholder='Name' required autofocus /><button type='submit'>Add</button></form>")

            //listen for input form submission
            $("form.add_member").submit(function(){

            //if input form isn't blank, create new li element with content of form, else go back to the add_member li
            if($('form.add_member').val()) {
                        $(this).replaceWith('<li><span class="vcard" title="Click to edit this members …
Run Code Online (Sandbox Code Playgroud)

jquery submit form-submit page-refresh

11
推荐指数
1
解决办法
2万
查看次数

通过google.loader.ClientLocation获取用户位置,但不适用于其他人

我试图使用google.loader.ClientLocation和maps api来获取访问者的位置并将地图置于其中心.以下对我来说很好(在Safari,Firefox和Chrome上),但是我测试它的朋友(在Safari和Firefox中)只看到一个带有Google徽标的白色框.

 <script type="text/javascript" src="http://www.google.com/jsapi?key=MykeyHere"></script>

  <script type="text/javascript">
   google.load("maps", "2");
  </script>

  <script type="text/javascript"> 

      function initialize() {
        if (GBrowserIsCompatible()) {
          var map = new GMap2(document.getElementById("local_map"));
    map.setMapType(G_PHYSICAL_MAP);
    map.setCenter(new GLatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude), 15);
          // map.setCenter(new GLatLng(54.5975, -5.920278), 15);
          map.setUIToDefault();

        } 

      </script>
Run Code Online (Sandbox Code Playgroud)

什么想法可能会出错?该网站位于http://www.chris-armstrong.com/ticktalk(地图靠近底部)

api geolocation google.load

8
推荐指数
1
解决办法
2万
查看次数

如何在PHP 5中启用XSLT功能?

我想使用xslt将xml文件打印为HTML嵌套列表,据我所知,代码是正确的,但是我收到此错误

致命错误:调用未定义的函数xslt_create()

我认为这意味着xslt功能尚未启用.如何在PHP中启用这些功能?我需要包含一个php文件(就像Javascript库的工作方式)还是更复杂的东西?我是MediaTemple的主持人.

这是我正在使用的PHP代码:

        <?php 

    // Allocate a new XSLT processor 
    $xh = xslt_create(); 

    // Process the document, returning the result into the $result variable 
    $result = xslt_process($xh, 'armstrong.xml', 'familyToNestedList.xsl'); 
    if ($result) { 
        print "SUCCESS, sample.xml was transformed by sample.xsl into the \$result"; 
        print " variable, the \$result variable has the following contents\n<br>\n"; 
        print "<pre>\n"; 
        print $result; 
        print "</pre>\n"; 
    } 
    else { 
        print "Sorry, sample.xml could not be transformed by sample.xsl into"; 
        print "  the \$result variable the reason is …
Run Code Online (Sandbox Code Playgroud)

php xml xslt mediatemple

8
推荐指数
2
解决办法
3万
查看次数

如何在地址栏中显示Chrome扩展程序PageAction图标?

我正在尝试构建一个Chrome扩展程序,它在地址栏中显示为一个图标,单击此选项后,会在页面上的所有元素上设置contenteditable = true,然后再次单击时将它们设置回contenteditable = false.

但是,我陷入了第一道障碍......图标甚至没有显示在地址栏中.

这是我的清单文件:

 {
  "name": "Caret",
  "version": "1.0",
  "description": "Allows you to edit the content on any webpage",
  "page_action": {
    "default_icon": "icon.png"
  },
  "content_scripts": [
    {
      "matches": ["http://*/*"],
      "js": ["jquery.js", "caret.js"]
    }
  ],
  "permissions" : [
    "tabs"
  ]
}
Run Code Online (Sandbox Code Playgroud)

这是caret.js脚本:

    chrome.browserAction.onClicked.addListener(function(Tab) {

    $("*").attr("contenteditable",true);

}); 
Run Code Online (Sandbox Code Playgroud)

这是我第一次尝试扩展,所以很可能是一个新手的错误,但我非常感谢任何帮助或建议!

google-chrome google-chrome-extension

8
推荐指数
2
解决办法
8099
查看次数