小编Mik*_*z13的帖子

在大网格上平滑滚动图像拼贴?

很长时间的倾听者,第一次来电这里.

好的,我为这篇文章的篇幅道歉,但我想非常清楚我正在尝试做什么以及我试图希望能指导你的答案.

目标: 我正在尝试创建一个100 x 100的图块网格(图像),我将一次仅显示网格的一部分,因为图像是240 x 120.通过单击按钮(注意:不需要鼠标滚动,缩放等),用户将水平和垂直滚动.

作为一个类比,采取设置的游戏棋盘,你正在低头看它.显示起来非常简单,只需要几个基本图像并将它们放在网格上.现在,考虑一下你只想显示底板的1/3.然后,当用户点击时,他们将视图移动到中间,然后再次单击将他们移到板的前1/3处.这是我想要完成的一个简单示例,除了在更大的网格上具有更小的视图/移动.

我尝试过的:

  1. 首先,我用PHP编写代码来绘制完整的100x100网格,一切看起来都很棒
  2. 然后我改变了代码以实际为每个方块写入文件,将它们保存为XY.png
  3. 我陷入了一个地图工具和缩放类型工具的世界
  4. 我在编写自己的解决方案时取得了一些成功

地图工具/ Zoomify失败:

在获得完整的地图和图块之后,我试图弄清楚如何只滚动此窗口的一部分.一个灯泡响起:"谷歌地图如何处理事情呢!" 那是在麻烦开始的时候,我被兔子洞吸了一下,研究了所有这些真正让我无处可寻的地图工具,因为很简单,它们似乎只是用于显示地理地图.

然而,我确实在某个时刻被引导到Zoomify,我认为这可能是一个选择.第一个问题是我似乎无法在没有完整图像的情况下拍摄自己的瓷砖,所以我尝试了在阳光下的每个屏幕捕获程序,尝试使用完整网格来完整浏览我的浏览器缩放使他们.我们只是说,这不起作用,但我尝试减小尺寸.它有点工作,但失去了很多质量,我意识到zoomify甚至没有真正实现我所需要的,因为1.滚动不是那么顺利; 2.这些图像最终会包含一些与XY坐标连接的链接,这意味着每次点击向上,向下,向左,向右箭头时我需要控制滚动多少.

我自己并没有失败尝试这样做

好的,然后我回到了基础知识,我把网格扔进了一个溢出的DIV:隐藏在CSS上.太好了,现在我有了一个窗口.我不想一次加载所有这些图像,所以我只在绝对定位的DIV中绘制了具有唯一ID的部分网格(例如Tile_1_1).这看起来很棒,但现在我需要让你看到你在点击箭头按钮时滚动网格,所以我把它扔到了一个javascript函数.我有javascript计算新X和新Y并交换所有图块的图像源,因为它们都是在网格上的X/Y坐标后命名的.实际上,这完全有效,现在地图滚动.问题是,只是改变图像源有点不稳定.毫无疑问,我们正在围绕这个网格移动,因为内容只是瞬间改变.而这个我的朋友是我需要我们帮助的地方.

我哪里做错了?这次最新尝试是否在正确的轨道上?我是否需要完全重新考虑这个问题,或者是否有一些简单的解决方案可以比交换源更优雅地移动磁贴?

请记住,我在php,css等方面表现得相当不错,但我从来没有在javascript上投入太多时间,所以你可能需要在该领域做更多的解释.

PS这是我在这些主板上最接近的东西,但它从来没有真正得到一个明确的答案:使用Ajax平铺HTML图层的滚动/预加载(谷歌地图样式)

更新:使用解决方案

我喜欢Cobby和pseudosavant的答案.Pseudosavant的解决方案非常适合我的盟友,让CSS完成大部分艰苦的工作,但是我选择了Cobby的解决方案.我认为它会给我一点控制权,因为我实际上使用的是菱形网格,我可以更好地将它包裹起来(不是说另一个也不一定有效).

这就是我做的.我知道代码有点粗糙,需要一些清理,但也许它可以帮助别人.

首先,我需要找到我的X和Y轴之间的关系,所以我画了一个小图.

在此输入图像描述

我很快注意到更多的X意味着在更远的左侧和更高的位置开始钻石,以在视图的中心(用户定义的开始)获得正确的坐标,然后通过Y坐标偏移以取消一些负的左下角开始点.

然后,绘制网格的PHP看起来像这样($ xcoord和$ ycoord来自一个表单):

//draw the grid
//Offset leftStart and topStart by Xcoord
$leftStart = 360 - ($xcoord * 120);
$topStart = 360 - ($xcoord * 60);

//Offset leftStart and topStart by Ycoord
$leftStart += ($ycoord * 120);
$topStart -= ($ycoord * 60);

for($y = 1; $y <= 99; $y++) …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery google-maps

16
推荐指数
1
解决办法
3414
查看次数

CodeIgniter +命令行+ Cron + Cpanel

求助:废话......为什么你总是在你最终决定寻求帮助之后找出正确的事情!

如果其他人遇到此问题,请尝试从/ usr/local/bin/php而不是/ usr/bin/php运行以获取codeigniter以获取URI段.

我有最新的codeigniter安装,一切似乎在本地工作正常.我最近将我的文件放在我的服务器上,除了我的cron命令之外的所有内容都正常.

当我尝试通过cron调用控制器时(如此处所述:http://codeigniter.com/user_guide/general/cli.html),我没有得到控制器.相反,我得到的输出只是我的默认控制器(登录页面).

这在本地运行良好,并且index.php被调用,因为我正在通过电子邮件发送默认页面的输出.

有人在这里问了一个类似的问题:CodeIgniter Cron Job on Shared Hosting? 响应者表示这是Cpanel的问题(我现在正在尝试使用它来设置cron作业),但是与我的托管服务提供商交谈,他们说整个命令正在运行.然而,CI并没有抓住控制器的URI.我还检查了以确保base_url设置正确(通过URL调用文件正常工作证明了这一点).

有什么想法吗?我似乎无法弄清楚为什么它在命令行格式时没有抓取URI:/ usr/bin/php index.php controller_class方法

php cron codeigniter cpanel

15
推荐指数
1
解决办法
8768
查看次数

JQuery UI Slider - 多个滑块的组合Max,也具有单独的最大值

- 已解决 -
我知道它们存在,但我没有找到一个可以轻松满足一些非常基本需求的滑块,我相信我不是唯一一个对这个问题感到沮丧的人.这就是我到目前为止所拥有的.我正朝着正确的方向前进吗?

我正在尝试做什么:

使用JQuery UI滑块,我需要在页面上有多个滑块.每个滑块的最小值为0,动态最大值和动态默认值.我在输入字段中使用html元素min,max,value设置这些值,然后通过javascript/jquery检索它们.

除了它们各自的最大值之外,还需要总摩擦力的总和不能超过的最大值.最后,我还需要从输入框(以及滑块本身)更新滑块的可用性.

我到目前为止:

在研究了许多滑块后,我决定使用JQuery UI滑块,并最终发现这篇文章让我开始实现我的目标:多个jQuery-UI滑块的总计

我将代码更改为(1)使用隐藏的输入字段来检索总的最大值; (2)用当前值填充输入文本字段而不是span; (3)从max =属性设置单个滑块的初始最大值; (4)将滑块设置为禁用:如果初始最大值为0,则为true;否则为0.(5)监听文本框的更改,如果不超过最大值,则根据输入的数字移动滑块.

当前代码(JSFiddle):(见答案中的jsfiddle)

(滑块#1初始最大值为0 - 禁用//其他滑块最大值为500 //总表格最大值为1000)

滑块正在做什么:

  1. 它调整得很好,并且正确地保持在总最大限制之下
  2. 正确设置初始单个最大值和总最大值
  3. 当max为0时,设置并保持禁用状态
  4. 更改文本框时正确滑动

我需要帮助/修复的想法:

  1. 更改滑块往往会更改单个滑块max =总最大值
  2. 更改文本框会正确滑动当前栏,但不会更新其他滑块以防止它们超过总最大值
  3. 我目前在文本框上使用.focusout()事件因为.change()导致它疯狂b/c滑块也在更改文本框.

让我知道你的想法.

更新:

我很难过没有听到任何回应,但我想我已经破解了.需要限制原始代码的可靠性并且主要是重写.我将在下面提交我的解决方案作为答案.请试试看,让我知道你的想法.这是一个相当大的过程,所以希望有人发现这个有用:)

javascript jquery jquery-ui uislider

4
推荐指数
1
解决办法
6883
查看次数

标签 统计

javascript ×2

jquery ×2

codeigniter ×1

cpanel ×1

cron ×1

css ×1

google-maps ×1

jquery-ui ×1

php ×1

uislider ×1