- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我的代码:click here to see entire code
我正在尝试构建一个水平数组表。输入 div 的数据来自 my google spreadsheet然后我将该数据附加到带有 id="schedule"
的 div 中。每次我在我的电子表格中添加一个包含主题的新行时,一个新的“主题”会出现在我的 HTML 结果中,这是完美的但是,我的问题是创建的每个 div(主题)都放在另一个下面,我想要它们是一个相邻的,而不是水平的。我还想添加一个按钮来从左向右滑动每个 div。 (这个脚本更好地描述了我的意思:slide divs with a script)一旦我弄清楚是什么让我的结果垂直移动,我想我可以自己做。
我尝试在带有 id="schedule"
的 div 中应用“display:inline-block”,但它没有改变任何东西。
谁能告诉我我的代码的哪一部分使每个“主题”一个接一个地放置?我需要如何更改它才能将它们水平并排放置?
我的代码:
<!doctype html>
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Montserrat"
rel="stylesheet">
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
<script type="text/javascript">
var spreadsheetUrl = 'https://spreadsheets.google.com/feeds/cells/
1YrzAXbTiR19BSEFCzAluNAvSQRKwIRrVk4A6Lo-no5Q/1/public/values?alt=json-in-
script&callback=doData';
function doData(data) {
var results = [];
var entries = data.feed.entry;
var previousRow = 0;
for (var i = 0; i < entries.length; i++) {
var latestRow = results[results.length - 1];
var cell = entries[i];
var text = cell.content.$t;
var row = cell.gs$cell.row;
if (row > previousRow) {
var newRow = [];
newRow.push(text);
results.push(newRow);
previousRow++;
} else {
latestRow.push(text);
}
}
handleResults(results);
}
function handleResults(spreadsheetArray) {
for(var i = 1; i < spreadsheetArray.length; i++)
{
$("#schedule").append("<div id='img'><img src="+spreadsheetArray[i][0]+"
width='300' style='border-radius: 8px;box-shadow: 0 3px 10px 0
rgba(0,0,0,0.2),0 4px 10px 0 rgba(0,0,0,0.19) !important;'></div><div
id='topic' style='font-size:120%;font-weight:bold;padding-left: 0px;'>
<strong>Topic:</strong><span> "+spreadsheetArray[i][1]+"</span></div><div
id='date'><strong>Date:</strong><span> "+spreadsheetArray[i][2]+"</span>
</div><div id='time'><strong>Time:</strong><span> "+spreadsheetArray[i][3]+"
</span>"+" a.m. California USA (GMT-7)</div>");
$("#schedule").append("<div><label class='btn' for='modal-
"+spreadsheetArray[i][7]+"'>More info</label></div> <input class='modal-
state' id='modal-"+spreadsheetArray[i][7]+"' type='checkbox' /><div
class='modal'> <label class='modal__bg' for='modal-"+spreadsheetArray[i]
[7]+"'></label> <div class='modal__inner'> <label class='modal__close'
for='modal-"+spreadsheetArray[i][7]+"'></label> <h2>"+spreadsheetArray[i]
[1]+"</h2> <img
src="+spreadsheetArray[i][6]+" alt='' style='float: right;padding-left:
10px;'
width='100%'/> <p><strong>Explanation: </strong>"+spreadsheetArray[i]
[4]+"
</p><div id='count'><strong>Countdown:</strong><span> "+spreadsheetArray[i]
[5]+"</span></div> </div></div> ");
}
}
$.ajax({
url: spreadsheetUrl,
jsonp: 'doData',
dataType: 'jsonp'
});
</script>
<!----CSS------>
<style type="text/css">
.New-schedule {
margin: 12px;
font-size: 14px;
font-family: 'Montserrat', sans-serif;
line-height: 1.8;
float:left;
}
#schedule { display:inline-block;}
/* --- modal ---*/
.modal {
opacity: 0;
visibility: hidden;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
text-align: left;
background: rgba(0,0,0, .9);
transition: opacity .25s ease;
}
.modal__bg {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
cursor: pointer;
}
.modal-state { display: none;}
.modal-state:checked + .modal {
opacity: 1;
visibility: visible;}
.modal-state:checked + .modal .modal__inner {
top: 0;
}
.modal__inner {
transition: top .25s ease;
position: absolute;
top: -20%;
right: 0;
bottom: 0;
left: 0;
width: 50%;
margin: auto;
overflow: auto;
background: #fff;
border-radius: 5px;
padding: 1em 2em;
height: 85%;
}
.modal__close {
position: absolute;
right: 1em;
top: 1em;
width: 1.1em;
height: 1.1em;
cursor: pointer;
}
.modal__close:after,
.modal__close:before {
content: '';
position: absolute;
width: 2px;
height: 1.5em;
background: #ccc;
display: block;
transform: rotate(45deg);
left: 50%;
margin: -3px 0 0 -1px;
top: 0;
}
.modal__close:hover:after,
.modal__close:hover:before {
background: #aaa;
}
.modal__close:before {
transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
.modal__inner {
width: 90%;
height: 90%;
box-sizing: border-box;
}
}
/* ---- Buttons --- */
.btn {
cursor: pointer;
background: #0099ff;
display: inline-block;
padding: .2em 1em;
color: #fff;
border-radius: 3px;
}
.btn:hover,
.btn:focus {background: #000000;}
.btn:active {
background: #038caa;
box-shadow: 0 1px 2px rgba(0,0,0, .2) inset;
}
p img {
max-width: 200px;
height: auto;
float: left;
margin: 0 1em 1em 0;
}
</style>
<!----end CSS------>
</head>
<body>
<div class="New-schedule">
<div id="schedule"></div>
</div>
</body>
</html>
最佳答案
您的方法
您列表中的每个元素都在 <div>
中呈现. Div 被称为 block 级元素,换句话说,它们占据了它们所在容器的整个宽度。这就是为什么它们占据父容器的整个宽度并垂直向下堆叠页面的原因。您可以尝试制作 <div>
display: inline-block
具有固定宽度,但首先您需要整理该代码:
<div id="img">
名字不好甚至无效。一个id
只能在 document
中使用一次和 img
不是一个好听的名字选择涵盖整行的语义,例如 class="schedule-item"
..schedule-item { display: inline-block; width: 300px; border-radius: 8px; /* other inline styles... */ }
handleResults
for
循环从索引 1 开始,这可能意味着您要跳过第一条记录。更好的方法
看起来您需要一个轮播/ slider 插件,您可以在网上/GitHub 上找到它。如果您能找到一个插件来提供您想要的外观/行为,您将需要匹配他们的 HTML 结构,并且样式/交互将为您处理。例如,FlexSlider 2 .您需要引用他们的特定文档,但 JS 伪代码可能是:
<div>
并请求电子表格数据。Here可以帮助您入门。
关于javascript - 谁能告诉我为什么我的 div 是垂直排列而不是水平排列的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50094295/
为了遵循务实的编程原则,我试图根据“告诉,不要询问”原则来决定如何处理用户密码更改。 我有一个用户对象,其密码每 30 天过期一次。如果密码过期,我需要能够显示密码过期/更改密码 View 。询问对象
我试图在接收文件时绕过任何本地存储。根据documentation ,如果“合理”,Flask 会将文件保存在内存中,否则会将它们存储在临时位置。 我只找到了一种通常使用 MAX_CONTENT_LE
SAS 在 proc 中返回 sci-notation 意味着总和输出,我不能将其用于进一步的速率计算过程。如何抑制 SAS 产生 sci-notation,有什么想法吗?提前致谢。 “解决了一个类似
当使用 nohup 时,脚本的输出会被缓冲,只有在脚本执行完毕后才会转储到日志文件 (nohup.out) 中。以接近实时的方式查看脚本输出以了解其进展情况将非常有用。有没有办法让 nohup 在脚本
假设我们定义了以下路由: const routes: Routes = [ { path: '', component: WelcomeComponent }, {
我正在尝试以下操作: a a > 1 1 > 2 2 > 3 3 我想要的是: a b > 1 1 > 2 2 > 3 3 有没有办法告诉 R 使用存储在对象( "b" )中的字符串( a
我想在安装二进制文件之前使用 automake 处理/修改它们。例如,我想将二进制文件中的符号提取到单独的文件和位置(如 this )。另一个示例是收集关键 Assets 的 md5sum 以发布报告
我的应用程序有一个主要的 pro 文件,我想告诉 qmake 在与应用程序同时编译一个单独的库。该库的目录中还有一个 pro 文件。这可能吗? 最佳答案 将 lib 和应用程序放在单独的子目录中,并使
我的 vimrc 中有以下内容: nnoremap :!screen -S foo -p run -X stuff '!!^M' 但是,当单击 F1 时,出现错误:没有上一个命令。 我想要的
我正在使用 Swagger 和 Scala 来记录我的 REST API。我想为 POST、PUT 和 DELETE 启用批量操作,并希望相同的路由接受单个对象或对象集合作为正文内容。 有没有办法告诉
我有一个 SAS 代码,它为我的计算创建了很多中间表。事情是,我在工作完成后并不真正关心这张 table ,我只关心决赛的结果。 但是,每次我运行这段代码时,SAS 都会添加所有生成的表来做我的流程,
有没有办法告诉 UglifyJS 跳过特定的代码部分,也许使用这样的注释: // uglifyjs:skipStart filter = function(item){ /* some crazy f
在 macOS 上通过 homebrew 安装包时,如果我的网络不稳定并且一次下载失败,homebrew 将下载源并从源开始构建。这将需要很长时间和高 CPU 使用率,这是不需要的。如何在下载失败时告
有没有办法告诉 GORM 不要保留属性?我计划在我的 User 类上定义一个确认密码属性,用于验证,但不应保留。 最佳答案 使用 transient 关键字 GORM 可以指示不持久化特定属性。 以下
我正在为 jQuery 编写一个幻灯片放映应用程序(单击按钮,然后滑动浏览图像列表),但我遇到了一个小错误,它将响应 即使在动画发生时也会发出 click() 请求。我已经在使用 animate()
我可以告诉 Xcode 4 我不在项目中使用自动布局吗? 目前,每个新创建的 xib 都会启用自动布局,这意味着我必须在创建 xib 后手动将其关闭,而我不希望这样。 最佳答案 这是自动布局的问题。您
因此,我正在使用目前手动运行的 AzCopy,但我要通过我们的一台服务器上的任务计划程序来运行它。如果我手动执行批处理文件,这会将文件从一个容器复制到另一个容器,并且可以完美运行。然而,它问我: Ov
我正在 OSX 中编写一个基于文档的应用程序。我发现当我更改文档的内容时,应用程序不知道文档已更改。我可以在没有警告的情况下关闭文档,这会导致我未保存的内容丢失。 如何告诉 NSDocument 文档
根据NSWindow Class Reference ,您应该“很少需要调用”NSWindow 方法“display”或“setViewsNeedDisplay”。那么重新显示窗口内容的常用方法是什么
为了重写开源 iMedia 框架项目(目前有数十名开发人员正在使用),我们正在切换到 IKImageBrowserView,并且在缓存方面遇到了麻烦。 看来 IKImageBrowserView 喜欢
我是一名优秀的程序员,十分优秀!