#ColumnWidth
Explore tagged Tumblr posts
Text
#BloggerTips#BloggingExpert#ThemeDesigner#BloggerLayout#BloggerTheme#ColumnWidth#BloggingTricks#BloggerSettings#CustomizeBlogger#BloggerGuide#SEOforBloggers#ResponsiveLayout#BloggerHelp#BlogSetup#BloggingTutorial#BloggerDesign#BlogLayoutTips#BloggerSidebar#BlogPostWidth#Blogging2025
0 notes
Text
行、列を指定するEntireRow,Columnと、列幅を指定するColumnWidth
今回も当番表の続きです。今回は列幅を自動調整していきます。
前回までの状態↓
さて、今回はマクロ「人変更」に、列幅調整機能をつけます。
この部分を変えていきます。
そういえば、このマクロを実行した後に、Sheets(”チーム情報”)のセルの選択が表全体になったままだったので、一つのセルを選択しておきます。
Sheets("チーム情報").Range("B2").Select
それではまずは、列幅を調整する列数がどれだけあるかを得るために、team_row_count という変数を定義します。
Dim team_row_count As Long
team_row_count = Selection.Rows.Count
「表の選択」で表の中身を得ているので、team_row_count はまさにチームメンバーの人数になりますね。
そして、肝心の列幅を変える部分です。
.Range(.Cells(3, 7), .Cells(3, 6 + team_row_count)) _ .EntireColumn.ColumnWidth = 3
With構文で指しているのは、Sheets(”入力表”)です。
.Range(.Cells(3, 7), .Cells(3, 6 + team_row_count))
で、入力表の人の部分の見出しを指定しています。
ここで新しいものが二つ登場。
セル.EntireColumn … セルを含む列全体
列.ColumnWidth … 列幅を指定。
(ちなみにセル.EntireRowでセルを含む行全体)
ということで、入力表の人の部分の列幅を「3」に指定しているわけですね。
この「3」とは何かというと、標準フォントの文字が何文字入るかに相当します。
ということで、人を増やして実行してみます。
日付一覧作成を実行すると
ボタンが小さくなってしまったので、大きさを修正します。
ちなみにこの表、こんな風に使う予定でした。
当番が入れない日に1を入力します。
ですので、列幅を小さくしました。
ということで今回は
EntireRow、EntireColumnで行、列を指定
ColumnWidthで列幅を指定
当番表の列幅を自動調整できるようにする
でした。
今回のコード
Sub 人変更() Application.ScreenUpdating = False
Dim team_row_count As Long
With Sheets("入力表")
.Range("E3").CurrentRegion.Rows(1).Offset(0, 2).ClearContents
Call 表の選択(Sheets("チーム情報").Range("B2"))
team_row_count = Selection.Rows.Count
Selection.Copy .Range("G3").PasteSpecial xlPasteValues, Transpose:=True Application.CutCopyMode = False
Sheets("チーム情報").Range("B2").Select
.Range(.Cells(3, 7), .Cells(3, 6 + team_row_count)) _ .EntireColumn.ColumnWidth = 3
.Select .Range("E3").Select
End With End Sub
0 notes
Text
how to add masonry and infinite scroll to a tumblr theme
Hi, welcome. If you’re here, it’s because you want to add either Masonry, Infinite Scroll or both to your custom Tumblr theme.
Heads up, this guide requires some familiarity with HTML, CSS and Javascript as you will be editing your current theme and since all themes are different, I can't give step-by-step instructions on how to edit your exact theme.
Also, this post is best viewed on my desktop theme. Blame Tumblr for not supporting Markdown properly.
OVERVIEW
Alright, so what are we even adding? Basically, Masonry is used to display your posts in a nicely laid out grid, even if they're all different sizes. You tell it what your posts are, what you want them to fit into and it'll come up with a nice grid layout for you. Infinite Scroll is used to... infinitely scroll through posts with having to go to another page. It’s the endless scrolling of your Twitter/Instagram/whatever feed.
Now maybe you’ve already got one or the other in your theme and you’re looking to add the other one. Sounds pretty simple, yeah? It kind of is. The trouble is that Masonry and Infinite Scroll interact with each other. When you’re using Infinite Scroll, whenever you scroll down and load more posts, Masonry needs to check whether your post layout is still okay and correct it if it isn't.
PLUGINS
For the sake of this guide not getting too confusing and because they integrate so easily together, we’ll ONLY be using David DeSandro's Masonry and Infinite Scroll Javascript plugins. If you’ve got different versions of these plugins, remove them now as they may cause issues.
First, we need to add the plugins to your theme’s head:
<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script><script src="https://unpkg.com/infinite-scroll@4/dist/infinite-scroll.pkgd.min.js"></script>
HTML
To get Masonry working, we need to know what your posts are and the container that they're in. Give your posts a class (e.g. .post) and your container an id (e.g. #posts). We can also specify additional options, such as column width and spacing between the posts. We want the layout to be responsive, so by following the example code Masonry provides, we'll create post-sizer and gutter-sizer.
To add Infinite Scroll, we need to know what the posts are (same as Masonry) and where to get the new content from - this will be the next page of posts on your blog. Tumblr lets us get that easily using pagination variables. Make sure you give the next page a class (e.g. .pagination__next), since this is where we'll be loading new posts from.
Your HTML might look something like this:
<div id="posts"> <div id="post-sizer"></div> <div id="gutter-sizer"></div> {block:Posts} <div class="post" id="{PostID}"> <div class="post-content"> {block:Text} {/block:Text} </div> </div> {/block:Posts} </div> <p id="footer"> {block:PreviousPage} <a href="{PreviousPage}">« Previous</a> {/block:PreviousPage} {block:NextPage} <a href="{NextPage}" class="pagination__next">Next »</a> {/block:NextPage} <a href="/archive">Archive</a> </p>
CSS
For the styling, we want the layout to be responsive so we'll set post-sizer and gutter-sizer to have a % width. For the rest of the styling, we'll use some of Masonry's example code again.
Your CSS might look something like this:
* { box-sizing: border-box; } #posts { width: 800px; } #posts:after { content: ''; display: block; clear: both; } #post-sizer, .post { width: 32.66%; } #gutter-sizer { width: 1%; } .post { background-color: lightgrey; margin-bottom: 10px; } .post-content { width: 100%; padding: 10px; float: left; }
JAVASCRIPT
In your theme's head, we can create a new script and set up Masonry inside it like this:
<script> window.onload = function() { var elem = document.getElementById('posts'); var msnry = new Masonry(elem, { itemSelector: '.post', percentPosition: true, columnWidth: '#post-sizer', gutter: '#gutter-sizer' }); } </script>
Then to actually get Masonry to generate a layout, we need to call it like this:
msnry.layout();
Usually, that's all you really need for Masonry but for Tumblr posts, any media embeds might take a bit of time to load. For example, Instagram embeds get taller when they're fully loaded (or at least they used to) and this can screw up the layout of your posts. To deal with this, you can add an observer that checks for any changes with media embeds and calculates a new layout if needed:
const embedObserver = new MutationObserver((m, o) => { msnry.layout(); }); embedObserver.observe(document, { childList: true, subtree: true });
Then finally, we need to set up Infinite Scroll. Remember, we're using the same posts that Masonry is changing. Since this plugin is made by the same guy who wrote Masonry, we can integrate it easily using outlayer:
let infScroll = new InfiniteScroll(elem, { path: '.pagination__next', append: '.post', outlayer: msnry });
Every time it loads a new page, it'll update the URL in your address bar. If you want to turn that off, you can add a new line to the previous codeblock, setting history to false:
let infScroll = new InfiniteScroll(elem, { path: '.pagination__next', append: '.post', history: false, outlayer: msnry });
And that should be it! The whole script should be something like this:
<script> window.onload = function() { // INITIALISE MASONRY var elem = document.getElementById('posts'); var msnry = new Masonry(elem, { itemSelector: '.post', percentPosition: true, columnWidth: '#post-sizer', gutter: '#gutter-sizer' }); // CALL MASONRY LAYOUT msnry.layout(); // CALL MASONRY LAYOUT ON EMBED LOAD const embedObserver = new MutationObserver((m, o) => { msnry.layout(); }); embedObserver.observe(document, { childList: true, subtree: true }); // INITIALISE INFINITE SCROLL let infScroll = new InfiniteScroll(elem, { path: '.pagination__next', append: '.post', history: false, outlayer: msnry }); } </script>
FINALLY...
Do keep in mind that your theme code will be different to this, so it's not a case of just copying and pasting everything directly. Remember to remove any old Masonry or Infinite Scroll plugins you already have. Your class and id names will probably be different and you may need to add certain HTML elements if you're missing them. You'll almost certainly need to tweak the styling too.
Feel free to shoot me a message if you need help or want to heckle me about the guide being outdated.
43 notes
·
View notes
Text
Scientific Calculator layout code in Sencha ExtJs
Where ExtJS stands for Extended JavaScript. This is a JavaScript framework and a product of Sencha, based on YUI (Yahoo User Interface). This is basically a desktop application development platform with modern UI. This tutorial gives a complete understanding of Ext JS. This reference will take you through simple and practical approaches while learning Ext JS.
Code of view(Calcie.js)section:
Ext.define('app.view.Calcie', { extend: 'Ext.panel.Panel', alias: 'widget.Calcie', columnWidth: 1, items: [ { xtype: 'form', title: 'Calculator', height: 415, width: 350, margin: '20 150 0 490', columnWidth: 1, style: "title: 5px solid #A1CAFF", bodyStyle: { "background-color": "#FFCE5A" }, layout: { type: 'column' }, items: [ { xtype: 'container', itemId: 'formContainer', columnWidth: 1, margin: '10 15 0 15', layout: { type: 'column' }, items: [ { xtype: 'textarea', width: '100%', height: 5, itemId: 'displayTxtArea', id: 'displayTxtArea', name: 'displayTxtArea', columnWidth: 1, margin: '0 0 5 0', }, { xtype: 'fieldcontainer', layout: { type: 'hbox', }, columnWidth: 1, itemId: 'radioButtonFContainer', id: 'radioButtonFContainer', name: 'radioButtonFContainer', items: [ { xtype: 'radiofield', fieldLabel: 'Degree', labelSeparator: '', columnWidth: 0.49, labelWidth: 45 }, { xtype: 'radiofield', fieldLabel: 'Radian', labelSeparator: '', columnWidth: 0.49, margin: '0 0 0 45', labelWidth: 45 }] }, { xtype: 'container', layout: { type: 'column' }, columnWidth: 1, margin: '5 0 0 0', defaults: { style: { background: '#FFB010' } }, items: [ { xtype: 'button', text: 'AC', margin: '7 5 0 0', columnWidth: 0.20, style: { background: '#FFB010' } }, { xtype: 'button', text: 'CE', margin: '7 5 0 0', columnWidth: 0.20, style: { background: '#FFB010' } }, { xtype: 'button', text: 'OFF', margin: '7 5 0 0', columnWidth: 0.20 }, { xtype: 'button', text: 'Backspace', margin: '7 0 0 0', columnWidth: 0.40 }] }, { xtype: 'container', layout: { type: 'column' }, columnWidth: 1, margin: '5 0 0 0', defaults: { style: { background: '#FFB010' } }, items: [ { xtype: 'button', text: 'Pi', margin: '7 5 0 0', columnWidth: 0.20 },
2 notes
·
View notes
Note
Hi! I want to use the page elara bc it looks really clean and nice! I've been trying to figure out this, but I changed the width of the pics and there's a huge gap between the elements, and while there's a note there saying I need to edit something in the js too, I can't figure out where is it, am I missing something? Thank you for your codes, they're gorgeous and I love them so much! (feel free to reply to this privately if you want)
Hi there !! Yeah, that’s my mistake because I forgot that I put the jquery (that you would need to edit to change the width of the items) into an external style sheet. What you basically need to do is look for this link
<script src="//dl.dropbox.com/s/ji74tcijrfy2u1z/grid.js"></script>
And replace it with this the code you can find here. then, put <style> before that code and </style> after it. Lastly find the following line in the code you just pasted
columnWidth: 270, /* needs to be 20 more than item width */
And change 270 according to your new item width. This sounds more complicated than it actually is. Under the cut are some images to explain it a little better though. You can message me via the chat function with a link to the page that you’re trying to use my code on if you want me to help you with it !!
#it's sounds kinda complicated#but it's really easy agdsja#if you need help message me again !!#*elara#anadecrmas#answered
2 notes
·
View notes
Text
TableLayout with Android Studio with App
The TableLayout component is an effective tool for building mobile apps that are responsive. It allows you to create layouts that work on smartphones and tablets. It supports a variety of viewport sizes and is developed using the MVVM model. In this post you'll discover how to use TableLayout as a TableLayout component to create layouts to your apps.
The Best Python Books for Beginners in 2022
1. Why do you need to use the TableLayout component?
The TableLayout component will help you create a UI that is much more organized and organized. This is especially useful when you have apps with many screens that must be separated into groups. It can also assist you to develop a user-friendly UI. ##
CCNA LAB Configuration Course Zero To Hero
2. How do you create a layout using the TableLayout component
Within Android Studio in Android Studio you are able to utilize to use the TableLayout component to design a layout for your app. In this article you'll learn how to create an outline using this component.
How To Configure Default Routing On 3 Routers
3. More advanced layouts using the TableLayout component
To design a layout that includes columns, you can use the tablelayout element. TableLayout is a TableLayout component can be described as a layout, which arranges its components into grids. It's a powerful layout that can be used to create any type of layout for user interfaces. It is not limited to the creation of tables. The TableLayout component comes with the following properties: ColumnSpan Number of Columns in the layout RowSpan The number of rows in the layout ColumnWidth is the size of a column in the layout RowHeight is the height of a row within the layout CellWidth is the width of a cell in the layout CellHeight: the height of a particular cell in the layout TableLayout uses the following methods addColumn() Adds an additional column to the added row of the layout() which adds one more row in the layout's addColumns() that adds new columns to the layout addRows(): adds new rows to the design setColumnSpan(): sets the number of columns within the layout setRowSpan() is set to how many rows within this layout's setColumnWidth():
How To Configure EIGRP in Packet Tracer - 3 Routers
4. Conclusion.
If you are running Android Studio, you can set up a TableLayout in the app. This will make it easier for your users to follow a particular layout for your app's content. This is a great way to aid users with navigation in your app.
OSI Model, Reference Model, Layer Model, 7 Layer Model
0 notes
Text
What is Table Widget in Flutter?

Do you want to know what the table widget in Flutter is? If yes, then stay here and read further to gather more information. Generally, a table enables the users to arrange their data in columns and rows effectively. It is used to display and store the data in a structured form that helps them to compare the values without any issues.
Flutter app development helps users create the table layout perfectly in their mobile application. Using the table layout algorithm for the children, you can create the table in flutter through a table widget. Such widgets have a wide range of properties to modify or improve the table layout. These properties are columnWidths, border, children, textBaseline, textDirection, etc.
When using the Table widget?
You can use the table widget if you want to store multiple rows with the same column width, and each table/column contains equal data. Flutter offers an extraordinary approach for the same that uses the GridView widget.
You have to follow certain essential things to create the table:
First, you must add the table widget in the body.
Then you are required to add the TableRow(s) in the children of the table widget. As the table widget has multiple rows, you must use children instead of the child.
At last, you must add the TableCell(s) in the Children of TableRow widget. Now you can write any widget here like you are going to use the text widget.
Distinctive features of the table widget
Computer users constantly dream of the future while computer-based software might be saved and run entirely from the flutter in preference to from their constrained-area hard drives. A visible impact of an attribute used in a table widget tag is converting the table widget for the complete frame of a flutter.
Browsers keep in mind that the tag’s contents may be displayed on the primary part of the flutter. Within the case of a table, if the table widget isn’t big enough to fill the complete historical past of your net page, the browser will repeat the table vertically and horizontally to fill the background.
They neglect that table programs are restrained through the precept that all actions need to be carried out through a table widget from the user on the sites that will generate a request to servers.
The servers perform a few processing stages like retrieving information, calculating and inspecting the validity of records, editing reminiscence, and then sending a complete table widget page to the patron. Technically, this approach seems reasonable but quite inconvenient and time-consuming, as what users will do while the servers are busy doing their function.
Factors involved in the table widget
The factors involved in the table widget are as follows:
To overcome the above problem, the developers delivered the intermediate approach, table widget processing among purchaser and server.
It is like adding a layer between procedures to reduce the time of information strolling and responding time.
Rather than reloading refreshes the entire flutter, it more effectively loads a section of the flutter, which is modified even as different parts remain.
Then when surfing a flutter that helps table widget, users will by no means see a white window blank and an hourglass icon symbol indicating that the server is performing its venture.
For instance, in a table widget internet site, with traditional applications, the whole flutter containing the table website could be open from the beginning, and the wall of table widgets could be loaded once more if there may be an alternative.
While applying a table widget replaces the title and just editing and it makes transactions easy and speedy.
Process involved in the table widget
All user actions use the flutter command to the table widget processor instead of creating a table widget request and queries to servers. If you need anything from the server, download extra code, which includes updating interface code or receiving new records.
The table widget might be transmitted to a server asynchronously, usually without disrupting the interplay of customers. It is on another platform that the Flutter developers used. Most of the Flutter programmers are using the platforms for their highest benefits. It will also be called a user-friendly program.
The main elements in this platform are highly flexible. The attributes which were provided by this are marvellous. Receive the text in many other formats. There won’t be any reloading of the page.
The world’s colossal internet’s essential value focus on its capability to link documents, importing flutter users with a fast connection from one page to any other associated pages. Linking files using a table widget is achieved by using the anchor tag. The anchor tag by itself does not tell the browser wherein to hyperlink.
If a bit of table widget code means the browser that the text visits the sponsor is the anchor textual content for a hyperlink. Table widget pages might be pretty dull without using rows and columns. They want to tell the browser in which to locate a table widget is an excellent instance of the way to use table widget attributes.
import 'package:flutter/material.dart'; void main() {runApp(MyApp());} class MyApp extends StatefulWidget { @override _DataTableExample createState() => _DataTableExample(); }
class _DataTableExample extends State<myapp> { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('Flutter DataTable Example'), ), body: ListView(children: <widget>[ Center( child: Text( 'People-Chart', style: TextStyle(fontSize: 25, fontWeight: FontWeight.bold), )), DataTable( columns: [ DataColumn(label: Text( 'ID', style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold) )), DataColumn(label: Text( 'Name', style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold) )), DataColumn(label: Text( 'Profession', style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold) )), ], rows: [ DataRow(cells: [ DataCell(Text('1')), DataCell(Text('Stephen')), DataCell(Text('Actor')), ]), DataRow(cells: [ DataCell(Text('5')), DataCell(Text('John')), DataCell(Text('Student')), ]), DataRow(cells: [ DataCell(Text('10')), DataCell(Text('Harry')), DataCell(Text('Leader')), ]), DataRow(cells: [ DataCell(Text('15')), DataCell(Text('Peter')), DataCell(Text('Scientist')), ]), ], ), ]) ), ); } } </widget></myapp>
Cross-platform technologies
Nowadays, the interactions done online should be fast. Fast interactions are possible on this platform. It also provides cross-platform technologies. Many programmers are working under the table widget. The table widget is the best way to compete with competitive online marketing.
According to the bandwidth, it will save time. It has created a valuable impression over Flutter development technologies. It plays a vital role in creating the flutter. The creation of interactive applications has given tremendous support.
The navigation of the site will be accessible on this platform. It will help to increase the presence of the Flutter app development services. The visitor satisfaction will be comparatively increased. The growth will be successful, according to their development. It specializes in Flutter app development.
Output
Conclusion
From the scenario mentioned above, now you have what table widget in flutter is. Without any hesitation, you can hire Flutter developer and use them to get the impact of table widget. These Flutter experts are the best choice to handle your task.
Frequently Asked Questions (FAQs)
1. What is the use of a widget in the Flutter application?
A widget will make use of table layout algorithms for its children.
2. How does TableCell work in Flutter development?
TableCell is the widget that can manage how the child of a table is aligned to the application. It is mandatory to have a descendent of a table. The other thing to keep in mind is the way between the table and TableCell which consists of only TableRows, StatelessWidgets, and StatefulWidgets. It means that you do not have the opportunity to pass any other type of widget, such as RenderObjectWidgets.
3. Define the ColumnWidget
A column widget of the table consists of the different parameters such as background image, backgroundColor, and the maxRadius.
Content Source: https://flutteragency.com/table-widget-in-flutter/
0 notes
Text
More Maya commands to remember
import maya.cmds as ma #Imports Maya commands
if ma.window(“ObjectRotator”, exists = 1): #Checks if the window “ObjectRotator” exists
ma.deleteUI(“ObjectRotator”)#Deletes the window
def ButtonClose(): #Creates ButtonClose function
ma.deleteUI(“ObjectRotator”)#Deletes the window
def ObjectRotate(): #Creates ObjectRotate function
ma.rotate(0,ma.floatSlider(“Rotator”, query=True, value=True), 0, ”cone1”)#Rotates the selected object (str(cmds.1s(s1=True)[0])) with the value of the slider (ma.floatSlider)
ma.cone(n=“cone1”)
ma.window(“ObjectRotator”, sizeable = False)#Creates a window called “ObjectRotator”
ma.columnLayout(columnAttach=(“both”,0),columnWidth=256)#Creates a column layout
ma.floatSlider(“Rotator”,min=0,max=360,dc=“ObjectRotate()”)#Creates a slider
ma.button(“ButtonClose”,1=“Close”,c=“ButtonClose()”)#Creates a button which executes ButtonClose function
ma.showWindow(“ObjectRotator”)#Shows the window “ObjectRotator”
0 notes
Text
【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part66 Multi-child layout widgets
【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part66 Multi-child layout widgets
「基礎 から 学ぶ Flutter 」という書籍で 学習 したことを ブログでアウトプットしていこうと思います。今回は ウィジェット編 ( part66 )です。 前回 【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part65 Multi-child layout widgets 引き続き、Multi-child layout widgetsについて学びます。 Multi-child layout widgets Tableウィジェット columnWidthsプロパティ columnWidthsプロパティは行幅を個別に設定することができます。 ずいぶん細かく設定できるんですね😮 import 'package:flutter/cupertino.dart'; import…
View On WordPress
0 notes
Text
دیکھیں: کوئٹہ کے طلباء نے آن لائن انٹری ٹیسٹ کے نتائج کے خلاف احتجاج کیا۔
دیکھیں: کوئٹہ کے طلباء نے آن لائن انٹری ٹیسٹ کے نتائج کے خلاف احتجاج کیا۔
آپ کا براؤزر ویڈیو ٹیگ کو سپورٹ نہیں کرتا۔
کوئٹہ کے بولان میڈیکل کالج کے طلباء بدھ کی سہ پہر آن لائن انٹری امتحانات کے نتائج کے خلاف سڑکوں پر نکل آئے۔
مظاہرین نے ہائی چوک پر احتجاج اور دھرنا دیا اور سڑک کو ٹریفک کے لیے بلاک کردیا۔ ایک طالب علم نے کہا ، “اس سال ہمارے ٹیسٹ اسکور بہت کم ہیں۔ یہ سب اس لیے ہے کہ ٹیسٹ آن لائن لیے گئے تھے۔”
مظاہرین نے دعویٰ کیا کہ یہ طلباء کو ان کی پسند کے کالجوں اور یونیورسٹیوں میں داخل ہونے سے روکنے کی کوشش ہے۔
ایک اور طالب علم نے مزید کہا ، “پاکستان میڈیکل کمیشن کسی بھی ٹیسٹنگ سروس کے ذریعے امتحانات لے سکتا ہے۔ ہمیں کوئی مسئلہ نہیں ہے۔ لیکن ہم ٹیسٹ آن لائن نہیں دیں گے۔”
مظاہرین نے احتجاج ختم کرنے سے ��نکار کر دیا ہے جب تک کہ ان کے مطالبات پورے نہیں ہوتے۔
ملک بھر کے اسکولوں ، کالجوں اور یونیورسٹیوں میں بیشتر امتحانات کو کورونا وائرس پھیلنے کی وجہ سے آن لائن منتقل کر دیا گیا۔
<![CDATA[ .rscolumn1 float: left; width: 13%; padding-right: 0px; padding-left: 0px; .rscolumn2 float: left; width: 70%; padding-right: 0px; padding-left: 0px; .rscolumn3 float: right; width: 10%; padding-right: 0px; padding-left: 0px; .rscolumn4 float: left; width: 5%; padding-right: 0px; padding-left: 0px; .rsmostread font-family: 'Arial' !important; font-size: 16px; color: #000000; font-weight: 600; font-style: normal; text-decoration: none; /* timeline */ /* The actual timeline (the vertical ruler) */ .timeline position: relative; max-width: 700px; margin: 0 auto; /* The actual timeline (the vertical ruler) */ .timeline::after content: ''; position: absolute; width: 2px; background-color: #1a2871;; /*background-color: #eb0042;*/ top: 25px; bottom: 68px; left: 2%; margin-left: -3px; /* Container around content */ .containar padding: 0px 27px; position: relative; width: 100%; padding-top: 0px; /* The circles on the timeline circles */ .containar::after content: ''; position: absolute; width: 20px; height: 20px; left: 0px; background-color: #1a2871;; border: 4px solid #1a2871;; top: 10px; border-radius: 100%; z-index: 1; /* Place the containar to the left */ .left left: 0; /* Place the containar to the right */ .right left: 2.5%; /* Fix the circle for containars on the right side */ .right::after left: -16px; /* The actual content */ .content position: relative; /* Media queries - Responsive timeline on screens less than 600px wide */ @media screen and (max-width: 600px) /* Place the timelime to the left */ .timeline::after left: 15px; top: 40px; /* Full-width containars */ .containar width: 100%; padding-left: 42px; padding-right: 10px; padding-top: 0px; /* Make sure all circles are at the same spot */ .left::after, .right::after left: 0px; top: 40px; /* Make all right containars behave like the left ones */ .right left: 1.2%; .rsmostread font-family: 'Arial' !important; font-size: 16px; color: #000000; font-weight: 600; font-style: normal; text-decoration: none; .rscolumn2 float: left; width: 85%; padding-right: 0px; padding-left: 0px; .rscolumn3 float: right; width: 12%; padding-right: 0px; padding-left: 0px; .culture-module-8 width: 100%; position: relative; border-bottom: 0px solid #1a2871;; border-top: 4px solid #1a2871;; line-height: 36px; line-height: 36px; font-family: 'Gotham' !important; font-size: 17px; color: #1a2871;; font-weight: bold; font-style: normal; .f-column float: left; width: 33.33%; padding-right: 10px; padding-left: 10px; .radius border-radius: 15px; .wr height:150px; @media screen and (max-width:600px).f-columnwidth:100%;padding-right:0;border:none;padding-right:0;padding-left:0 ]]>
. Source link
0 notes
Link

JavaScript is one of the most popular languages on the web. Even though it was initially developed just for web pages, it has seen exponential growth in the past two decades.
Now, JavaScript is capable of doing almost anything and works on several platforms and devices including IoT. And with the recent SpaceX Dragon launch, JavaScript is even in space.
One of the reasons for its popularity is the availability of a large number of frameworks and libraries. They make development much easier compared to traditional Vanilla JS development.
There are libraries for almost anything and more are coming out almost every day. But with so many libraries to choose from it becomes difficult to keep a track of each one and how it might be tailored specifically to your needs.
In this article, we will discuss 10 of the most popular JS libraries which you can use to build your next project.
Leaflet
Leaflet
I think Leaflet is the best open source library for adding mobile-friendly interactive maps to your application.
Its small size (39kB) makes it a great alternative to consider over other map libraries. With cross-platform efficiency and a well-documented API, it has everything you need to make you fall in love.
Here is some sample code that creates a Leaflet map:
var map = new L.Map("map", { center: new L.LatLng(40.7401, -73.9891), zoom: 12, layers: new L.TileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png") });
In Leaflet, we need to provide a tile layer since there isn't one by default. But that also means that can choose from a wide range of layers both free and premium. You can explore various free tile layers here.
Read the Docs or follow the Tutorials to learn more.
fullPage.js
This open-source library helps you create full-screen scrolling websites as you can see in the above GIF. It's easy to use and has many options to customize, so it's no surprise it is used by thousands of developers and has over 30k stars on GitHub.
Here is a Codepen demo that you can play with:
You can even use it with popular frameworks such as:
react-fullpage
vue-fullpage
angular-fullpage
I came across this library about a year ago and since then it has become one of my favorites. This is one of the few libraries that you can use in almost every project. If you haven't already started using it then just try it, you will not be disappointed.
anime.js
anime.js
One of the best animation libraries out there, Anime.js is flexible and simple to use. It is the perfect tool to help you add some really cool animation to your project.
Anime.js works well with CSS properties, SVG, DOM attributes, and JavaScript Objects and can be easily integrated into your applications.
As a developer it's important to have a good portfolio. The first impression people have of your portfolio helps decide whether they will hire you or not. And what better tool than this library to bring life to your portfolio. It will not only enhance your website but will help showcase actual skills.
Check out this Codepen to learn more:
You can also take a look at all the other cool projects on Codepen or Read the Docs here.
Screenfull.js
screenfull.js
I came across this library while searching for a way to implement a full-screen feature in my project.
If you also want to have a full-screen feature, I would recommend using this library instead of Fullscreen API because of its cross-browser efficiency (although it is built on top of that).
It is so small that you won't even notice it – just about 0.7kB gzipped.
Try the Demo or read the Docs to learn more.
Moment.js
Moment.js
Working with date and time can be a huge pain, especially with API calls, different Time Zones, local languages, and so on. Moment.js can help you solve all those issues whether it is manipulating, validating, parsing, or formatting dates or time.
There are so many cool methods that are really useful for your projects. For example, I used the .fromNow() method in one of my blog projects to show the time the article was published.
const moment = require('moment'); relativeTimeOfPost = moment([2019, 07, 13]).fromNow(); // a year ago
Although I don't use it very often, I am a fan of its support for internationalization. For example, we can customize the above result using the .locale() method.
// French moment.locale('fr'); relativeTimeOfPostInFrench = moment([2019, 07, 13]).fromNow(); //il y a un an // Spanish moment.locale('es'); relativeTimeOfPostInSpanish = moment([2019, 07, 13]).fromNow(); //hace un año
Moment.js Homepage
Read the Docs here.
Hammer.js
Hammer.js is a lightweight JavaScript library that lets you add multi-touch gestures to your Web Apps.
I would recommend this library to add some fun to your components. Here is an example to play with. Just run the pen and tap or click on the grey div.
It can recognize gestures made by touch, mouse and pointerEvents. For jQuery users I would recommend using the jQuery plugin.
$(element).hammer(options).bind("pan", myPanHandler);
Read the Docs here.
Masonry
Masonry
Masonry is a JavaScript grid layout library. It is super awesome and I use it for many of my projects. It can take your simple grid elements and place them based on the available vertical space, sort of like how contractors fit stones or blocks into a wall.
You can use this library to show your projects in a different light. Use it with cards, images, modals, and so on.
Here is a simple example to show you the magic in action. Well, not magic exactly, but how the layout changes when you zoom in on the web page.
And here is the code for the above:
var elem = document.querySelector('.grid'); var msnry = new Masonry( elem, { itemSelector: '.grid-item', columnWidth: 400 }); var msnry = new Masonry( '.grid');
Here is a cool demo on Codepen:
Check out these Projects
https://halcyon-theme.tumblr.com/
https://tympanus.net/Development/GridLoadingEffects/index.html
https://www.erikjo.com/work
D3.js
If you are a data-obsessed developer then this library is for you. I have yet to find a library that manipulates data as efficiently and beautifully as D3. With over 92k stars on GitHub, D3 is the favorite data visualization library of many developers.
I recently used D3 to visualize COVID-19 data with React and the Johns Hopkins CSSE Data Repository on GitHub. It I was a really interesting project, and if you are thinking of doing something similar, I would suggest giving D3.js a try.
Read more about it here.
slick
slick
Slick is fully responsive, swipe-enabled, infinite looping, and more. As mentioned on the homepage it truly is the last carousel you'll ever need.
I have been using this library for quite a while, and it has saved me so much time. With just a few lines of code, you can add so many features to your carousel.
$('.autoplay').slick({ slidesToShow: 3, slidesToScroll: 1, autoplay: true, autoplaySpeed: 2000, });
Autoplay
Check out the demos here.
Popper.js
Popper.js
Popper.js is a lightweight ~3 kB JavaScript library with zero dependencies that provides a reliable and extensible positioning engine you can use to ensure all your popper elements are positioned in the right place.
It may not seem important to spend time configuring popper elements, but these little things are what make you stand out as a developer. And with such small size it doesn't take up much space.
Read the Docs here.
Conclusion
As a developer, having and using the right JavaScript libraries is important. It will make you more productive and will make development much easier and faster. In the end, it is up to you which library to prefer based on your needs.
These are 10 JavaScript libraries that you can try and start using in your projects today. What other cool JavaScript libraries you use? Would you like another article like this? Tweet and let me know.
0 notes
Text
android kotlin 개발 팁 정리 (wasent 개발시 정리)
alt + enter 자동완성
ctrl + space 자동완성 basic code completion
cotrol + r run app
alt x mark 클릭 모든 코드창 닫기
현재 year 가져오기 Calendar.getInstance().get(Calendar.YEAR)
UI를 위한 변수를 자동생성 해주기 위해 필요
import kotlinx.android.sythetic.main.activity_main.*
android toast message
Toast.makeText().show()
kotlin random integer
Random.nextInt()
android drawable
<selector>
<item>
<shape>
<solid>
<corner>
android ImageView
resource 로 부터 이미지 가져오기
ImageView.setImageResource()
android ListView
BaseAdapter , getItem, getCount, getItemId, getView
ListView.adapter = BaseAdapter를implement한obj
android view layout
context객체.getSystemService()
android LayoutInflator 객체 얻는법
layoutInflator객체.inflate(Context.LAYOUT_INFLATER_SERVICE)
android activity
다른 actvity로 이동
Intent, intent객체.putExtra(), startActivity()
android Bundle activity Intent
intent에서 bundle data가져오기
intent객체.extras 는 Bundle 객체를 return. bundle객체.getString(”키이름”)
android ListView change delete update adapter
adapter객체.notifyDataSetChanged()
kotlin inner class access property
inner modifier
https://stackoverflow.com/a/45418262/3151712
android image drawable mipmap
한번에 다양한 크기의 같은 이미지 생성 프로그램
final_android_resizer
android GridView
ListView와 제작방법이 거의 동일하다.BaseAdapter , getItem, getCount, getItemId, getView. 단 GridView에 numColumns, columnWidth, horizontalSpacing 속성을 추가로 설정해야 한다.
GridView.adapter = BaseAdapter를implement한obj
android internet permission http
<uses-permission android:name = “android.permission.INTERNET”/>
android kotlin thread background
AsyncTask<> , doInBackground, onProgressUpdate, onPreExecute, onPostExecute
kotlin try catch
try{
}catch (ex:Exception){
}
android kotlin url connection
Url(url스트링) 하면 url객체를 얻을 수 있다.
url객체.openConnection()하면 urlconnection객체를 얻을수있고 이를 HttpUrlConnection 객체나 HttpsUrlConnection객체로 타입전환할수 있다. HttpUrlConnection객체.connectTimeout() 을 통해 제한시간 설정가능
HttpUrlConnection.inputStream 을 통해 외부로부터 data를 받을수 있게 된다.
InputStream, InputStreamReader, BufferedReader 를 사용 한줄 한줄 읽어 온다.
android json
JSONObect(스트링) , getJSONObect() 또는 getJSONArray()를 통해 한단계씩 들어가서 데이터를 가져온다.
android drawable background
상태에 따른 스타일 바꾸기
<selector> <item> <shape> <corner> <stroke> <solid> <padding>
<item android:state_pressed= “true”>
android firebase authentication analytics
Udemy kotlin android 강좌
google firebase 사용방법 121 analytics ,122 authentication 매우 간단하고 이해하기 쉽다.
124 analytics
127 datastore database
130 3:00 addValueEventListener
android notification
NotificationCompat.builder()
setDefault() setSmallIcon() setContentTitle() setContentText() setNumber()
context.getSystemService(context.NOTIFICATION_SERVICE)
Udemy kotlin android 강좌 132
android notification channel
NotificationChannel()
android image 사용 external storage camera permission
ActivityCompat.checkSelfPermission()
requestPermissions()
onRequestPermissionsResult()
udemy 136 3:00
android image file 디바이스에 있는 image file 가져오기
intent intent.ACTION_PICK android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI startActivityForResult()
android image file content provider 사용자가 선택한 화일 가져오기
android filebase storage imageview에 있는 이미지를 압축해서 firebase storage에 올리기
FirebaseStorage FirebaseStorage객체.getRefenceFromUrl()
udemy 137
android google firebase authentication
FirebaseAuth createUserWithEmailAndPassword() addOnCompleteListener()
FirebaseUser
android picasso imageview image
udemy 140 9:00
android cloud messaging firebase
앱을 사용하는 다수의 사용자에게 message 보낼때사용. udemy 144
FirebaseMessaging.getInstance().subscribeToTopic()
manifest에 service추가 , meta-data 추가
Service class 작성 onMessageReceived()
android kotlin variable element
참고) kotlin에서는 findById()과정없이 바로 element id통해 접근가능하다.
아래와 같이 사용해도 된다.
위와 같이 activity 안에 요소를 위한 variable을 만들고 view type을 명시적으로 해준경우 아래와 같이 <Button>을 해줘도 되고 안해도 된다.
그���나 아래와 같이 activity 안 어느 함수안에서 variable이 정의된경우 photoGalleryButton처럼 명시해주어야 한다.
android kotlin clicklistener listener lambda button
android kotlin photo picture intent
android photo gallery pick intent
android kotlin element id variable
kotlin에서는 findById()과정없이 바로 element id통해 접근가능하다.
android kotlin inputStream url http read buffer BufferedReader InputStreamReader
참고) BuffredReader에 대하여 https://www.baeldung.com/java-buffered-reader
android kotlin Toolbar ActionBar
아래에서는 toolbar는 activity_main layout에 있는 toolbar 의 id 이다.
android kotlin network
network에 연결��었는지 확인하는 경우
android kotlin AlertDialog
android kotlin bitmap url http
android kotlin progress bar
android kotlin button drawable background
gradientdrawable을 xml이 아닌 코드상에서 만드는 방법
android kotlin dp float drawable
gradientdrawable을 xml이 아닌 코드상에서 만들때 코너를 둥글게 만드는 경우 dp 사이즈를 설정해 주는데 이때 필요한 dp 값을 구하는 방법이다.
kotlin inner class nested
https://stackoverflow.com/a/46730214/3151712
android kotlin listener anonymous class lambda sam
https://antonioleiva.com/lambdas-kotlin-android/
android kotlin listener anonymous class lambda sam
https://antonioleiva.com/listeners-several-functions-kotlin/
https://antonioleiva.com/lambdas-kotlin/
android kotlin draw onDraw
https://stackoverflow.com/questions/13640541/view-ondrawcanvas-c-versus-drawcanvas-c-in-android
android kotlin TextUtils isEmpty EditText가 비었는지 확인 축약형
https://stackoverflow.com/a/6290637/3151712
android kotlin bundle 만들기 축약형
https://medium.com/@programmerr47/creating-bundles-nicely-with-kotlin-1526fc173d01
옛날방법 https://stackoverflow.com/a/59957980/3151712
android kotlin invoke operator overload
https://stackoverflow.com/questions/45173677/invoke-operator-operator-overloading-in-kotlin
android studio json to kotlin plugin
json 내용을 보고 그에 맞는 kotlin classes를 자동으로 만들어 준다.
android studio - > preferences -> plugin -> json to kotlin 검색
kotlin reference member class ::
https://stackoverflow.com/a/51813211/3151712
kotlin by keyword delegate delegation
https://stackoverflow.com/a/57637851/3151712
kotlin elivis operator null safety
fun elvisSample(arg : String?) { val value = arg ?: "" }
//같은내용 fun elvisSample(arg : String?) { val value = if (arg != null) arg else "" }
android room annotation
https://medium.com/@tonyowen/room-entity-annotations-379150e1ca82
@Entity
data class Person()
@Entity(tableName = "people") data class Person()
@PrimaryKey(autoGenerate = true)
val id: Long
@ColumnInfo(name = "first_name") val firstName: String = ""
@Ignore
val bitmap: Bitmap
@Entity data class Person( @PrimaryKey(autoGenerate = true) val uid: Long, val firstName: String = "", val lastName: String = "", val email: String = "" ) @Entity(foreignKeys = arrayOf(ForeignKey(entity = Person::class, parentColumns = arrayOf("uid"), childColumns = arrayOf("ownerId"), onDelete = ForeignKey.CASCADE))) data class Pet( @PrimaryKey(autoGenerate = true) val id: Long, val ownerId: Long, val name: String )
.
.
http://androidsbs.blogspot.com/2013/11/androidnextfocusdown-set-next-focus-to.html
Defines the next view to give focus to when the next focus is FOCUS_Down.
.
.
phone number edittext mask
https://stackoverflow.com/a/34907607/3151712
.
.
screen orientation
android:screenOrientation="portrait"
https://stackoverflow.com/a/13526816/3151712
.
.
android soft keyboard
https://stackoverflow.com/a/5617130/3151712
.
.
android dependency androidx jetpack
https://developer.android.com/kotlin/ktx
.
.
android navigation jetpack
https://developer.android.com/guide/navigation/navigation-getting-started
.
.
android data binding jetpack
https://stackoverflow.com/a/34719627/3151712
The data binding implementation must be in the onCreateView method of the fragment
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { MartianDataBinding binding = DataBindingUtil.inflate( inflater, R.layout.martian_data, container, false); View view = binding.getRoot(); //here data must be an instance of the class MarsDataProvider binding.setMarsdata(data); return view; }
.
.
android tablelayout table
https://youtu.be/x0X19LJJGjc
.
.
android tablelayout table
https://youtu.be/2q7R3Pt-NCw
.
.
android tag
https://stackoverflow.com/a/45841698/3151712
.
.
android edittext text settext
https://stackoverflow.com/a/45841698/3151712
.
.
android viewmodel share activity fragment
https://medium.com/mindorks/how-to-communicate-between-fragments-and-activity-using-viewmodel-ca733233a51c
.
.
android viewmodel by error unresolve problem
https://stackoverflow.com/a/49934785/3151712
https://stackoverflow.com/a/60830396/3151712
.
.
android snackbar snack
https://www.androidhive.info/2015/09/android-material-design-snackbar-example/
.
.
android switch get data value
https://stackoverflow.com/a/47894048/3151712
.
.
android seekbar seek value listener get
https://abhiandroid.com/ui/seekbar
.
.
android seekbar value
https://stackoverflow.com/a/19227945/3151712
.
.
kotlin elvis ?:
https://kotlinlang.org/docs/reference/null-safety.html#elvis-operator
.
.
android layout half screen
https://stackoverflow.com/a/26379458/3151712
.
.
android weight weightsum
https://stackoverflow.com/questions/7452741/what-is-androidweightsum-in-android-and-how-does-it-work
.
.
android auto size text autosize textview font
official docs
https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview
.
.
android auto size text autosize textview font
youtube 6분 , 컨셉이해
https://youtu.be/Dk3fI58RkPs
.
.
android editable text to string convert
https://stackoverflow.com/a/2216395/3151712
.
.
Kotlin - Apply, Let, Run, With, Also - Higher Order Standard Functions
youtube 11분 매우 명확
https://youtu.be/-Lha9n8VJf0
.
.
android navigation dialogfragment fragment dialog alert alertdialog
https://stackoverflow.com/a/55256858/3151712
.
.
android dialog dialogfragment alertdialog
https://blog.mindorks.com/implementing-dialog-fragment-in-android
.
.
android dialog dialogfragment alertdialog
youtube 7분 매우 간단
https://www.youtube.com/watch?v=alV6wxrbULs&t=2s
.
.
android callback function firebase addOnCompleteListener
https://stackoverflow.com/a/51595202/3151712
.
.
android SharedPreferences 와 Preferences 차이
https://stackoverflow.com/a/23223316/3151712
.
.
android SharedPreferences Preferences
https://youtu.be/M15PEeHXM64
30분 분량
https://youtu.be/SfeRakSWWbk
16분분량.
.
.
android action bar tool bar actionbar
https://www.journaldev.com/9357/android-actionbar-example-tutorial
.
.
android action bar tool bar actionbar
https://www.journaldev.com/9357/android-actionbar-example-tutorial
.
.
kotlin multiple constructor
https://stackoverflow.com/a/56277144/3151712
.
.
kotlin this nested class
https://agrawalsuneet.github.io/blogs/qualified-this-in-kotlin/
.
.
context requiredcontext
https://stackoverflow.com/a/60402600/3151712
.
.
android alert dialog view
https://stackoverflow.com/a/55685054/3151712
https://stackoverflow.com/a/22655641/3151712
.
.
android currency textwatcher mask
https://stackoverflow.com/a/24621325/3151712
https://stackoverflow.com/a/5233488/3151712 -> max length와 함께쓰면 문제 있었음
.
.
kotlin string replace
https://stackoverflow.com/a/50946070/3151712
.
.
kotlin data class inherit extend
https://stackoverflow.com/a/55701197/3151712
.
.
android spinner entries array value
https://www.mysamplecode.com/2012/03/android-spinner-arrayadapter.html
.
.
android string charsequences character
https://stackoverflow.com/a/1049244/3151712
.
.
android spannable
This is the interface for text to which markup objects can be attached and detached. Not all Spannable classes have mutable text; see Editable for that.
https://developer.android.com/reference/android/text/Spannable
.
.
android spinner get value getselecteditem select
https://stackoverflow.com/a/7486969/3151712
.
.
kotlin vararg array<string> variadic parameter argument
https://discuss.kotlinlang.org/t/vararg-vs-array-parameter/4068
.
.
kotlin remove character string
https://stackoverflow.com/a/49344240/3151712
.
.
android firebase child email key name @ at
https://stackoverflow.com/a/43863803/3151712
.
.
android androidx prefereces
https://developer.android.com/reference/androidx/preference/Preference
.
.
android alert dialog preference sharedpreference button click
https://stackoverflow.com/a/49444754/3151712
.
.
kotlin if express inline
https://stackoverflow.com/a/16336507/3151712
.
.
kotlin ?.let null null safety elvis ?.
https://www.reddit.com/r/Kotlin/comments/8k1885/why_cant_the_else_part_of_let_take_a_block/
muthuraj57 answer is best
.
.
android resource string viewmodel
https://stackoverflow.com/a/51279662/3151712
.
.
android firebase realtime database child event ChildEventListener
https://firebase.google.com/docs/reference/android/com/google/firebase/database/ChildEventListener
.
.
android firebase realtime database iterate traverse child
https://stackoverflow.com/a/44935464/3151712
.
.
kotlin collection
https://www.geeksforgeeks.org/kotlin-collections/
.
.
android kotlin firebase data class constructor
https://stackoverflow.com/a/51134246/3151712
.
.
android jetpack livedata observe collection
https://stackoverflow.com/a/52075248/3151712
.
.
android firebase child event listener remove ChildEventListener
https://stackoverflow.com/questions/46140289/removing-childeventlistener
.
.
android longclicklistener long click listener return true OnLongClickListener
https://stackoverflow.com/a/13470431/3151712
.
.
android string resource getstring
https://stackoverflow.com/a/44901859/3151712
.
.
kotlin string format
https://stonesoupprogramming.com/2017/11/17/kotlin-string-formatting/
.
.
livedata initialization initial
livedata는 기본적으로 null을 가지고 있다.
예를 들어 아래에서 liveItems.value 는 null이다. 그러나 보통은 val example = liveItems 하고 example의 값을 확인해보는게 정상적인 접근 방법이며 이경우에도 기본 최초값은 null이다.
val liveItems : LiveData<MutableMap<String, Item>> get() = _liveItems
.
.
livedata access
livedata의 값을 알고 싶을 때는 livedata.value를 사용하지 말고 일단 다른 var에 할당하고 확인한다.
.
.
kotlin collection
데이터타입 MutableMap<String, Item>을 생성하는 경우 아래와 같이
val items = mutableMapOf<String,Item>()
var stars: MutableMap<String, Boolean> = HashMap() var stars = HashMap<String,Boolean>()
.
데이터타입 MutableList<String>을 생성하는 경우 아래와 같이
val items = mutableListOf<String>()
val list: MutableList<String> = ArrayList<String>()
아래는 immutable list가 된다.
val list: List<String> = ArrayList()
ref) https://stackoverflow.com/a/50893555/3151712
.
https://www.geeksforgeeks.org/kotlin-collections/
https://www.geeksforgeeks.org/kotlin-mutablemapof/
.
.
kotlin dictionary contain key map hashmap
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/contains-key.html
.
.
kotlin collection map list convert
https://grokonez.com/kotlin/kotlin-tutorial-convert-kotlin-map-list
.
.
kotlin map add item
https://stackoverflow.com/a/42627451/3151712
.
.
firebase android getvlaue generic collection list map dictionary
https://firebase.google.com/docs/reference/android/com/google/firebase/database/GenericTypeIndicator
https://stackoverflow.com/a/52684990/3151712
.
.
setOnClickListener onClickListener와 onClick in xml을 하나의 view에 동시사용할수는 없었다.
.
.
data binding에서 다른 viewid이름.text 값을 @{()-> } 통해 외부로 전달하려했지만 실패했다. 그냥 view obj자체를 전달할수는 있었다.
.
.
setOnFocusChangeListener 를 사용해서 focus에 따른 UI변화를 구현하다 알수 없는 bug에 고생함. 문제는 android가 xml load시에 자동으로 focus를 지정하는 문제가 있었다.
https://stackoverflow.com/a/59072414/3151712 로 문제 해결
.
.
firebase exist child
https://stackoverflow.com/a/39676175/3151712
.
.
listadapter android recyclerview
https://stackoverflow.com/a/55602833/3151712
.
.
adapter viewholder bind create
bind는 매번 viewholder에 데이터를 연결할때 마다 호출되므로 부하가 많이 걸릴수 있다.
https://stackoverflow.com/a/39271313/3151712
.
.
android data binding view id
다른 view의 id를 통해 접근, 속성값이용할수 있다.
https://stackoverflow.com/a/38126859/3151712
.
.
android databinding error problem 해결 모음
https://stackoverflow.com/questions/35126670/android-data-binding-error-cannot-find-symbol-class
.
.
android tag view
https://stackoverflow.com/a/5291891/3151712
.
.
kotlin NumberFormatter sign
https://stackoverflow.com/a/49907824/3151712
.
.
kotlin decimal zero point format
https://stackoverflow.com/questions/3973763/format-double-to-2-decimal-places-with-leading-0s
.
.
android auto focus remove
https://stackoverflow.com/a/59072414/3151712
.
.
android share activity fragment
https://medium.com/mindorks/how-to-communicate-between-fragments-and-activity-using-viewmodel-ca733233a51c
.
.
android gridlayoutmanager manager grid recyclerview
https://abhiandroid.com/materialdesign/recyclerview-gridview.html
.
.
android radio button check default
https://stackoverflow.com/questions/9175635/how-to-set-radio-button-checked-as-default-in-radiogroup
.
.
android radio button group check change
https://stackoverflow.com/questions/6780981/android-radiogroup-how-to-configure-the-event-listener
.
.
android radio button onclicklistener ontouchlistener
https://stackoverflow.com/questions/15836789/android-radio-button-uncheck
.
.
android onCheckedChanged radio button group
https://stackoverflow.com/questions/39427178/how-to-bind-method-on-radiogroup-on-checkchanged-event-with-data-binding
.
.
Android MVVM — Do’s and Don’ts tip head up
https://android.jlelse.eu/mvvm-dos-and-don-ts-5950d6f347d4
.
.
kotlin mat list convert
https://www.programiz.com/kotlin-programming/examples/convert-map-list
.
.
kotlin currency string mask format
https://kodejava.org/how-do-i-format-a-number-as-currency-string/
.
.
android edittext currency string mask format
https://stackoverflow.com/questions/5107901/better-way-to-format-currency-input-edittext/24621325#24621325
.
.
kotlin delegation property interface by
https://youtu.be/zfiohSIZtbo
https://youtu.be/JolUNygXu3s
https://kotlinlang.org/docs/reference/delegated-properties.html
.
.
android alert dialog alertdialog size window
https://stackoverflow.com/questions/18473989/custom-alertdialog-size-is-too-small
.
.
firebase child exist check children
https://stackoverflow.com/a/39676175/3151712
.
.
android radio button radiobutton data binding
https://stackoverflow.com/questions/49194398/how-to-use-two-way-data-binding-with-radio-button-in-android
.
.
android shared preference arraylist custom object class
https://stackoverflow.com/questions/14981233/android-arraylist-of-custom-objects-save-to-sharedpreferences-serializable
.
.
android hex decimal color string
https://stackoverflow.com/questions/5248583/how-to-get-a-color-from-hexadecimal-color-string
.
.
android color background programmatically
https://stackoverflow.com/a/41451718/3151712
.
.
android toggle button check change listener
https://stackoverflow.com/a/27911988/3151712
.
.
android data binding check switch change
https://stackoverflow.com/a/37288929/3151712
.
.
android leading zero decimal format number
https://stackoverflow.com/a/3973886/3151712
.
.
android alertdiaolog alert dialog
https://stackoverflow.com/a/54072166/3151712
.
.
android radio button group check change listener
https://stackoverflow.com/a/26618592/3151712
.
.
android bluetooth print blue tooth
https://stackoverflow.com/questions/9838822/android-bluetooth-printing
.
.
android textview scroll scrollable
https://stackoverflow.com/questions/1748977/making-textview-scrollable-on-android
.
.
android firebase transaction
https://stackoverflow.com/a/28915836/3151712
https://firebase.google.com/docs/database/android/read-and-write#save_data_as_transactions
.
.
firebase transaction twice call
https://stackoverflow.com/a/27177480/3151712
.
.
android datepicker picker calendar
https://stackoverflow.com/a/27177480/3151712
.
.
android datepicker date diable past
https://stackoverflow.com/a/23762355/3151712
.
.
android button click programmatically
https://stackoverflow.com/a/23762355/3151712
.
.
android date am pm calendar
Calendar c = Calendar.getInstance(); int seconds = c.get(Calendar.SECOND); int minutes = c.get(Calendar.MINUTE); int hours = c.get(Calendar.HOUR); int years = c.get(Calendar.YEAR); int months = 1 + c.get(Calendar.MONTH); int days = c.get(Calendar.DAY_OF_MONTH); int AM_orPM = c.get(Calendar.AM_PM);
.
.
android date format string simpledateformat
https://stackoverflow.com/a/38220579/3151712
.
.
android string builder
https://stackoverflow.com/a/8167156/3151712
.
.
android start activity
https://developer.android.com/training/basics/firstapp/starting-activity#BuildIntent
.
.
firebase sql like query search match
https://stackoverflow.com/a/61515511/3151712
.
.
kotlin check string number
https://www.programiz.com/kotlin-programming/examples/check-string-numeric#:~:text=To%20check%20if%20string%20contains,Else%2C%20it's%20a%20number.
.
.
firebase queyy filter retrieve
https://firebase.google.com/docs/database/android/lists-of-data#filtering_data
.
.
kotlin initialization init mutable map
val items = mutableMapOf("Box" to 12, "Books" to 18, "Table" to 13)
.
.
kotlin split string
val parts = str.split(delimiter)
.
.
firebase limit
https://stackoverflow.com/a/45324335/3151712
.
.
android paging library pagination recycler view
https://developer.android.com/topic/libraries/architecture/paging
https://www.zoftino.com/pagination-in-android-using-paging-library
https://proandroiddev.com/8-steps-to-implement-paging-library-in-android-d02500f7fffe
https://developer.android.com/reference/androidx/paging/PageKeyedDataSource
.
.
kotlin timestamp
https://stackoverflow.com/a/6993420/3151712
https://stackoverflow.com/a/6993393/3151712
.
.
android color background
https://stackoverflow.com/a/18033320/3151712
.
.
android programmatically navigation start activity
https://stackoverflow.com/a/53922244/3151712
https://stackoverflow.com/a/54613997/3151712
.
.
android pass serializable parcelable bundle argument
https://stackoverflow.com/a/59881330/3151712
.
.
kotlin convert array arraylist
https://www.programiz.com/kotlin-programming/examples/convert-list-array
.
.
kotlin mutable list initialization
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/mutable-list-of.html
mutableListOf(1, 2, 3)
.
.
android child get recyclerview viewholder view
https://stackoverflow.com/a/35603710/3151712
https://stackoverflow.com/a/38745107/3151712
.
.
kotlin for integer int
https://kotlinlang.org/docs/tutorials/kotlin-for-py/loops.html
for (x in 0 until 10)
.
.
kotlin hashmap merge combine add
https://stackoverflow.com/a/4299742/3151712
.
.
android activity clear remove stack history
https://stackoverflow.com/a/57079661/3151712
https://stackoverflow.com/questions/3473168/clear-the-entire-history-stack-and-start-a-new-activity-on-android
.
.
android encryption sharedpreferences shared preference
https://developer.android.com/reference/kotlin/androidx/security/crypto/EncryptedSharedPreferences.html
.
.
android androix version api
api 28
.
.
android encryption sharedpreferences shared preference encrypted
https://proandroiddev.com/encrypted-preferences-in-android-af57a89af7c8
https://medium.com/@Naibeck/android-security-encryptedsharedpreferences-ea239e717e5f
https://garageprojects.tech/encryptedsharedpreferences-example/
.
.
android email mask validation format
https://stackoverflow.com/a/44260895/3151712
.
.
android password validation special character capictal
https://stackoverflow.com/a/36574313/3151712
위의 것은 특수문자 하나 소문자 하나 대문자 하나를 최소기준으로 요구하는 코드이다.
.
.
android edit edittext focus listener
https://stackoverflow.com/a/10627231/3151712
.
.
android edit edittext focus listener data binding
https://stackoverflow.com/a/62015360/3151712
.
.
firebase email key
https://stackoverflow.com/a/50518018/3151712
.
.
android programmatically keyboard edittext edit text focus
https://stackoverflow.com/questions/8991522/how-can-i-set-the-focus-and-display-the-keyboard-on-my-edittext-programmatical
.
.
android required edittext edit
https://stackoverflow.com/a/53994791/3151712
.
.
android shared preference not allow double sharedpreferences
https://stackoverflow.com/questions/16319237/cant-put-double-sharedpreferences
.
.
android action bar tool bar
https://www.vogella.com/tutorials/AndroidActionBar/article.html
.
.
android finish end activity
finish()
.
.
android OnLongClickListener return
https://stackoverflow.com/a/49712696/3151712
.
.
android Refresh Fragment from other activity when Dialog fragment is dismissed
https://stackoverflow.com/questions/42868007/refresh-fragment-from-other-activity-when-dialog-fragment-is-dismissed
https://stackoverflow.com/a/9853895/3151712
.
.
android get key by value
https://stackoverflow.com/questions/12713321/can-i-get-the-key-from-sharedpreferences-if-a-know-the-associated-value
.
.
android programmatically keyboard soft hidden
https://stackoverflow.com/a/47826869/3151712
https://stackoverflow.com/a/47826869/3151712
https://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#HIDE_NOT_ALWAYS
https://stackoverflow.com/q/10508363
.
.
android color primary primary dark accent
https://stackoverflow.com/a/47826869/3151712
.
.
android portrait
https://stackoverflow.com/a/3723830/3151712
.
.
android imeoption ime
https://stackoverflow.com/a/59758037/3151712
.
.
android cardview background card
https://stackoverflow.com/a/59758037/3151712
.
.
android dialog dialogfragment size window
https://stackoverflow.com/a/24213921/3151712
.
.
android recyclerview recycler scroll
https://stackoverflow.com/a/47260842/3151712
.
.
android sharedpreferences shared remove
https://stackoverflow.com/a/45620778/3151712
.
.
android focus programmatically edittext
https://stackoverflow.com/a/8991563/3151712
.
.
android data binding lifecycle lifecycle owner
https://stackoverflow.com/a/54542260/3151712
.
.
android negative button click date picker
https://stackoverflow.com/a/4981308/3151712
.
.
android toast custom
https://stackoverflow.com/a/31175631/3151712
.
.
android next focus edittext tab
https://developer.android.com/training/keyboard-input/navigation#Tab
https://developer.android.com/training/keyboard-input/navigation#Tab
.
.
firebase between startat endat
https://stackoverflow.com/a/29778220/3151712
.
.
kotlin sort collection reverse
https://stackoverflow.com/a/29778220/3151712
https://stackoverflow.com/a/29778220/3151712
https://gold.gitbook.io/kotlin/collections/ordering-operations/sortedbydescending
.
.
android getcolor deprecated color backgound
https://stackoverflow.com/a/32202256/3151712
.
.
android kotlin singleton
https://antonioleiva.com/objects-kotlin/
.
.
kotlin calendar add month year day
https://www.tutorialspoint.com/add-months-to-current-date-using-calendar-add-method-in-java
.
.
android navigation component back go back findNavController navigateUp
https://stackoverflow.com/a/55174563/3151712
.
.
android spinner
https://www.geeksforgeeks.org/spinner-in-kotlin/
.
.
kotlin copy collection
https://stackoverflow.com/a/49053542/3151712
.
.
kotlin copy value list collection clone
https://stackoverflow.com/a/49053542/3151712
list.filter { true }
list.toList()
list.toMutableList()
.
.
kotlin pass value reference copy
https://stackoverflow.com/a/44516388/3151712
Every time I hear about the "pass-by-value" vs "pass-by-reference" Java debate I always think the same. The answer I give: "Java passes a copy (pass-by-value) of the reference (pass-by-reference)". So everyone is happy. I would say Kotlin does the same as it is JVM based language.
.
.
kotlin get property object list collection extension
https://medium.com/@hayi/kotlin-get-list-of-some-property-values-of-object-from-list-of-object-8da9419c2e77
inline fun <reified T, Y> MutableList<T>.listOfField(property: KMutableProperty1<T, Y?>):MutableList<Y> { val yy = ArrayList<Y>() this.forEach { t: T -> yy.add(property.get(t) as Y) } return yy }
.
.
kotlin collection property filter find
https://stackoverflow.com/a/51010611/3151712
val user: User? = myList.find { it.userId == id }
val user: User? = myList.last { it.userId == id }
.
.
android radio button toggle unselect uncheck check
https://stackoverflow.com/questions/43731189/how-to-uncheck-radiobutton-if-already-checked-in-radiogroup
https://stackoverflow.com/questions/15836789/android-radio-button-uncheck/22262182
.
.
kotlin break continue loop for
https://stackoverflow.com/questions/15836789/android-radio-button-uncheck/22262182
.
.
git restart renew start remove new
https://stackoverflow.com/a/31991358/3151712
.
.
kotlin data class copy value reference
https://kotlinlang.org/docs/reference/data-classes.html#copying
.
.
android soft keyboard InputMethodManager
https://developer.android.com/reference/android/view/inputmethod/InputMethodManager.
.
.
android soft keyboard programmatically hide
https://stackoverflow.com/a/54583382/3151712
.
.
android edittext capital first
https://stackoverflow.com/questions/4808705/first-letter-capitalization-for-edittext
.
.
android soft keyboard adjustpan adjustResize
https://stackoverflow.com/a/17410528/3151712
.
.
android navigation pass data start destination setGraph
https://developer.android.com/guide/navigation/navigation-pass-data#start
.
.
android navigation argument error exception illegalargumentexception currentDestination
https://stackoverflow.com/a/53737537/3151712.
.
.
android fragment change title action bar
https://stackoverflow.com/a/61323325/3151712
.
.
android studio kill restart adb start stop
https://stackoverflow.com/a/29826345/3151712
adb kill-server
adb start-server
.
.
android fragment pass result popup poputto previous
https://developer.android.com/guide/navigation/navigation-programmatic#returning_a_result
https://stackoverflow.com/a/60757744/3151712
.
.
android progress bar kotlin
https://www.tutorialkart.com/kotlin-android/android-indeterminate-progressbar-kotlin-example/
.
.
android spinner
https://www.geeksforgeeks.org/spinner-in-kotlin/
android spinner line space
https://stackoverflow.com/questions/15591768/add-more-space-between-items-in-android-spinner-without-custom-style
.
.
android kotlin programmatically text style
https://stackoverflow.com/a/52568928/3151712
.
.
android edittext remove focus
https://stackoverflow.com/a/6120141/3151712
.
.
android resource id get programmatically
https://stackoverflow.com/a/3476447/3151712
https://stackoverflow.com/a/15488321/3151712
.
.
android get package name
https://stackoverflow.com/questions/6589797/how-to-get-package-name-from-anywhere
.
.
android radio button two way data binding
https://stackoverflow.com/a/54262153/3151712
.
.
android animation navigation
https://stackoverflow.com/a/23081187/3151712
.
.
android radio button user programmatically check change
https://stackoverflow.com/a/63229190/3151712
.
.
android list filter
https://stackoverflow.com/a/44098722/3151712
.
.
android livedata radio button observe observer
livedata를 observe하는 경우 처음 activity나 fragment가 생성되서 코드를 읽어 내려가는 순간 최초로 한번 Observe 안의 코드가 한번 실행 된다. 그리고 observe하는 livedata가 변화되면 Observe 안의 코드가 또 실행된다.
radio button의 경우 사용자가 radio button 을 선택 클릭하면 OnCheckedChangeListener 가 두번 실행된다. 기존상황으로 한번 변화된 상황으로 한번실행된다.
.
.
kotlin byte bytearray java
ByteArray equals byte[] in Java Array<Byte> equals Byte[] in Java.
.
.
kotlin array
https://www.geeksforgeeks.org/kotlin-array/
.
.
android external library 3rd party jar
https://www.tutorialkart.com/kotlin-android/add-external-jar-to-library-in-android-studio/
.
.
kotlin byte
https://stackoverflow.com/a/44604635
.
.
android usb
https://developer.android.com/guide/topics/connectivity/usb/host#using-intents
.
.
kotlin java date datetime format day
https://stackoverflow.com/questions/5121976/is-there-a-date-format-to-display-the-day-of-the-week-in-java
.
.
android spinner
https://stackoverflow.com/questions/11072576/set-selected-item-of-spinner-programmatically
https://stackoverflow.com/questions/1947933/how-to-get-spinner-value
.
.
android recyclerview scroll
https://stackoverflow.com/a/48862743
.
.
android navigation google doc
https://developer.android.com/guide/navigation/navigation-getting-started
https://developer.android.com/guide/navigation/navigation-navigate
https://developer.android.com/reference/androidx/navigation/NavDestination
https://developer.android.com/guide/navigation/navigation-migrate
https://developer.android.com/guide/navigation/navigation-getting-started
.
.
android activity stack backstack navigation empty last isTaskRoot()
https://stackoverflow.com/a/44338195
.
.
android navigation component pass starting
https://stackoverflow.com/a/50457707
.
.
android edittext maxlength programmatically
https://stackoverflow.com/a/63722946
.
.
android cardview elevation animation
https://stackoverflow.com/questions/41110936/elevation-animation-on-click-on-cardview
.
.
https://kotlinlang.org/docs/reference/collection-filtering.html#filtering-by-predicate
filter collection
Filtering by predicate
The basic filtering function is filter(). When called with a predicate, filter() returns the collection elements that match it. For both List and Set, the resulting collection is a List, for Map it's a Map as well.
val numbers = listOf("one", "two", "three", "four")
val longerThan3 = numbers.filter { it.length > 3 }
println(longerThan3)
val numbersMap = mapOf("key1" to 1, "key2" to 2, "key3" to 3, "key11" to 11)
val filteredMap = numbersMap.filter { (key, value) -> key.endsWith("1") && value > 10}
println(filteredMap)
.
.
kotlin list group by
https://stackoverflow.com/a/47200815
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/group-by.html
.
.
let
https://stackoverflow.com/a/52539259
a?.let { 첫번째 } ?: 두번째
a가 null이면 두번째실행하고 null이 아니면 첫번째실행
0 notes
Text
Winter Wonderland
We hope you enjoy these stunning images of our grounds in the recent snow, taken by Jason Goodman from the Maintenance Team.
var lightbox_transition = 'elastic'; var lightbox_speed = 800; var lightbox_fadeOut = 300; var lightbox_title = false; var lightbox_scalePhotos = true; var lightbox_scrolling = false; var lightbox_opacity = 0.201; var lightbox_open = false; var lightbox_returnFocus = true; var lightbox_trapFocus = true; var lightbox_fastIframe = true; var lightbox_preloading = true; var lightbox_overlayClose = true; var lightbox_escKey = false; var lightbox_arrowKey = false; var lightbox_loop = true; var lightbox_closeButton = false; var lightbox_previous = "previous"; var lightbox_next = "next"; var lightbox_close = "close"; var lightbox_html = false; var lightbox_photo = false; var lightbox_width = '400'; var lightbox_height = '400'; var lightbox_innerWidth = 'false'; var lightbox_innerHeight = 'false'; var lightbox_initialWidth = '200'; var lightbox_initialHeight = '100'; var maxwidth=jQuery(window).width(); if(maxwidth>768){maxwidth=768;} var lightbox_maxWidth = "100%"; var lightbox_maxHeight = "100%"; var lightbox_slideshow = false; var lightbox_slideshowSpeed = 2500; var lightbox_slideshowAuto = true; var lightbox_slideshowStart = "start slideshow"; var lightbox_slideshowStop = "stop slideshow"; var lightbox_fixed = true; var lightbox_top = false; var lightbox_bottom = '10%'; var lightbox_left = '10%'; var lightbox_right = false; var lightbox_reposition = false; var lightbox_retinaImage = true; var lightbox_retinaUrl = false; var lightbox_retinaSuffix = "@2x.$1"; jQuery(document).ready(function(){ jQuery("#huge_it_gallery_content_37 a[href$='.jpg'], #huge_it_gallery_content_37 a[href$='.jpeg'], #huge_it_gallery_content_37 a[href$='.png'], #huge_it_gallery_content_37 a[href$='.gif']").addClass('group1'); jQuery(".group1").colorbox({rel:'group1'}); jQuery(".youtube").colorbox({iframe:true, innerWidth:640, innerHeight:390}); jQuery(".vimeo").colorbox({iframe:true, innerWidth:640, innerHeight:390}); jQuery(".iframe").colorbox({iframe:true, width:"80%", height:"80%"}); jQuery(".inline").colorbox({inline:true, width:"50%"}); jQuery(".callbacks").colorbox({ onOpen:function(){ alert('onOpen: colorbox is about to open'); }, onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); }, onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); }, onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); }, onClosed:function(){ alert('onClosed: colorbox has completely closed'); } }); jQuery('.non-retina').colorbox({rel:'group5', transition:'none'}) jQuery('.retina').colorbox({rel:'group5', transition:'none', retinaImage:true, retinaUrl:true}); jQuery("#click").click(function(){ jQuery('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here."); return false; }); }); .element_37 { width:275px; margin:0px 0px 10px 0px; border:0px solid #EEEEEE; border-radius:3px; outline:none; overflow:hidden; } .element_37 .image-block_37 { position:relative; width:275px; } .element_37 .image-block_37 a {display:block;} .element_37 .image-block_37 img { width:275px !important; height:auto; display:block; border-radius: 0px !important; box-shadow: 0 0px 0px rgba(0, 0, 0, 0) !important; } .element_37 .image-block_37 img:hover { cursor: -webkit-zoom-in; cursor: -moz-zoom-in; } .element_37 .image-block_37 .play-icon { position:absolute; top:0px; left:0px; width:100%; height:100%; } .element_37 .image-block_37 .play-icon.youtube-icon {background:url(http://www.sheilingschool.org.uk/wp-content/plugins/gallery-images/Front_end/../images/play.youtube.png) center center no-repeat;} .element_37 .image-block_37 .play-icon.vimeo-icon {background:url(http://www.sheilingschool.org.uk/wp-content/plugins/gallery-images/Front_end/../images/play.vimeo.png) center center no-repeat;} .element_37 .title-block_37 { position:absolute; left:0px; width:100%; padding-top:5px; height:30px; bottom:-35px; background: rgba(0,0,0,0.8) !important; -webkit-transition: bottom 0.3s ease-out 0.1s; -moz-transition: bottom 0.3s ease-out 0.1s; -o-transition: bottom 0.3s ease-out 0.1s; transition: bottom 0.3s ease-out 0.1s; } .element_37:hover .title-block_37 {bottom:0px;} .element_37 .title-block_37 a, .element_37 .title-block_37 a:link, .element_37 .title-block_37 a:visited { position:relative; margin:0px; padding:0px 1% 0px 2%; width:97%; text-decoration:none; text-overflow: ellipsis; overflow: hidden; white-space:nowrap; z-index:20; font-size: 16px; color:#0074A2; font-weight:normal; } .element_37 .title-block_37 a:hover, .element_37 .title-block_37 a:focus, .element_37 .title-block_37 a:active { color:#2EA2CD; text-decoration:none; }























jQuery(function(){ var defaultBlockWidth=275+20+550; var $container = jQuery('#huge_it_gallery_container_moving_37'); // add randomish size classes $container.find('.element_37').each(function(){ var $this = jQuery(this), number = parseInt( $this.find('.number').text(), 10 ); //alert(number); if ( number % 7 % 2 === 1 ) { $this.addClass('width2'); } if ( number % 3 === 0 ) { $this.addClass('height2'); } }); $container.hugeitmicro({ itemSelector : '.element_37', masonry : { columnWidth : 275+10+0 }, masonryHorizontal : { rowHeight: 'auto' }, cellsByRow : { columnWidth : 275, rowHeight : 'auto' }, cellsByColumn : { columnWidth : 275, rowHeight : 'auto' }, getSortData : { symbol : function( $elem ) { return $elem.attr('data-symbol'); }, category : function( $elem ) { return $elem.attr('data-category'); }, number : function( $elem ) { return parseInt( $elem.find('.number').text(), 10 ); }, weight : function( $elem ) { return parseFloat( $elem.find('.weight').text().replace( /[\(\)]/g, '') ); }, name : function ( $elem ) { return $elem.find('.name').text(); } } }); var $optionSets = jQuery('#huge_it_gallery_options .option-set'), $optionLinks = $optionSets.find('a'); $optionLinks.click(function(){ var $this = jQuery(this); if ( $this.hasClass('selected') ) { return false; } var $optionSet = $this.parents('.option-set'); $optionSet.find('.selected').removeClass('selected'); $this.addClass('selected'); var options = {}, key = $optionSet.attr('data-option-key'), value = $this.attr('data-option-value'); value = value === 'false' ? false : value; options[ key ] = value; if ( key === 'layoutMode' && typeof changeLayoutMode === 'function' ) { changeLayoutMode( $this, options ) } else { $container.hugeitmicro( options ); } return false; }); var isHorizontal = false; function changeLayoutMode( $link, options ) { var wasHorizontal = isHorizontal; isHorizontal = $link.hasClass('horizontal'); if ( wasHorizontal !== isHorizontal ) { var style = isHorizontal ? { height: '100%', width: $container.width() } : { width: 'auto' }; $container.filter(':animated').stop(); $container.addClass('no-transition').css( style ); setTimeout(function(){ $container.removeClass('no-transition').hugeitmicro( options ); }, 100 ) } else { $container.hugeitmicro( options ); } } var $sortBy = jQuery('#sort-by'); jQuery('#shuffle a').click(function(){ $container.hugeitmicro('shuffle'); $sortBy.find('.selected').removeClass('selected'); $sortBy.find('[data-option-value="random"]').addClass('selected'); return false; }); jQuery(window).load(function(){ $container.hugeitmicro('reLayout'); }); });
The post Winter Wonderland appeared first on Sheiling School Thornbury.
from RSSMix.com Mix ID 8239595 https://www.sheilingschool.org.uk/winter-wonderland/ via IFTTT
0 notes
Text
Winter Wonderland
We hope you enjoy these stunning images of our grounds in the recent snow, taken by Jason Goodman from the Maintenance Team.
var lightbox_transition = 'elastic'; var lightbox_speed = 800; var lightbox_fadeOut = 300; var lightbox_title = false; var lightbox_scalePhotos = true; var lightbox_scrolling = false; var lightbox_opacity = 0.201; var lightbox_open = false; var lightbox_returnFocus = true; var lightbox_trapFocus = true; var lightbox_fastIframe = true; var lightbox_preloading = true; var lightbox_overlayClose = true; var lightbox_escKey = false; var lightbox_arrowKey = false; var lightbox_loop = true; var lightbox_closeButton = false; var lightbox_previous = "previous"; var lightbox_next = "next"; var lightbox_close = "close"; var lightbox_html = false; var lightbox_photo = false; var lightbox_width = '400'; var lightbox_height = '400'; var lightbox_innerWidth = 'false'; var lightbox_innerHeight = 'false'; var lightbox_initialWidth = '200'; var lightbox_initialHeight = '100'; var maxwidth=jQuery(window).width(); if(maxwidth>768){maxwidth=768;} var lightbox_maxWidth = "100%"; var lightbox_maxHeight = "100%"; var lightbox_slideshow = false; var lightbox_slideshowSpeed = 2500; var lightbox_slideshowAuto = true; var lightbox_slideshowStart = "start slideshow"; var lightbox_slideshowStop = "stop slideshow"; var lightbox_fixed = true; var lightbox_top = false; var lightbox_bottom = '10%'; var lightbox_left = '10%'; var lightbox_right = false; var lightbox_reposition = false; var lightbox_retinaImage = true; var lightbox_retinaUrl = false; var lightbox_retinaSuffix = "@2x.$1"; jQuery(document).ready(function(){ jQuery("#huge_it_gallery_content_37 a[href$='.jpg'], #huge_it_gallery_content_37 a[href$='.jpeg'], #huge_it_gallery_content_37 a[href$='.png'], #huge_it_gallery_content_37 a[href$='.gif']").addClass('group1'); jQuery(".group1").colorbox({rel:'group1'}); jQuery(".youtube").colorbox({iframe:true, innerWidth:640, innerHeight:390}); jQuery(".vimeo").colorbox({iframe:true, innerWidth:640, innerHeight:390}); jQuery(".iframe").colorbox({iframe:true, width:"80%", height:"80%"}); jQuery(".inline").colorbox({inline:true, width:"50%"}); jQuery(".callbacks").colorbox({ onOpen:function(){ alert('onOpen: colorbox is about to open'); }, onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); }, onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); }, onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); }, onClosed:function(){ alert('onClosed: colorbox has completely closed'); } }); jQuery('.non-retina').colorbox({rel:'group5', transition:'none'}) jQuery('.retina').colorbox({rel:'group5', transition:'none', retinaImage:true, retinaUrl:true}); jQuery("#click").click(function(){ jQuery('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here."); return false; }); }); .element_37 { width:275px; margin:0px 0px 10px 0px; border:0px solid #EEEEEE; border-radius:3px; outline:none; overflow:hidden; } .element_37 .image-block_37 { position:relative; width:275px; } .element_37 .image-block_37 a {display:block;} .element_37 .image-block_37 img { width:275px !important; height:auto; display:block; border-radius: 0px !important; box-shadow: 0 0px 0px rgba(0, 0, 0, 0) !important; } .element_37 .image-block_37 img:hover { cursor: -webkit-zoom-in; cursor: -moz-zoom-in; } .element_37 .image-block_37 .play-icon { position:absolute; top:0px; left:0px; width:100%; height:100%; } .element_37 .image-block_37 .play-icon.youtube-icon {background:url(http://www.sheilingschool.org.uk/wp-content/plugins/gallery-images/Front_end/../images/play.youtube.png) center center no-repeat;} .element_37 .image-block_37 .play-icon.vimeo-icon {background:url(http://www.sheilingschool.org.uk/wp-content/plugins/gallery-images/Front_end/../images/play.vimeo.png) center center no-repeat;} .element_37 .title-block_37 { position:absolute; left:0px; width:100%; padding-top:5px; height:30px; bottom:-35px; background: rgba(0,0,0,0.8) !important; -webkit-transition: bottom 0.3s ease-out 0.1s; -moz-transition: bottom 0.3s ease-out 0.1s; -o-transition: bottom 0.3s ease-out 0.1s; transition: bottom 0.3s ease-out 0.1s; } .element_37:hover .title-block_37 {bottom:0px;} .element_37 .title-block_37 a, .element_37 .title-block_37 a:link, .element_37 .title-block_37 a:visited { position:relative; margin:0px; padding:0px 1% 0px 2%; width:97%; text-decoration:none; text-overflow: ellipsis; overflow: hidden; white-space:nowrap; z-index:20; font-size: 16px; color:#0074A2; font-weight:normal; } .element_37 .title-block_37 a:hover, .element_37 .title-block_37 a:focus, .element_37 .title-block_37 a:active { color:#2EA2CD; text-decoration:none; }























jQuery(function(){ var defaultBlockWidth=275+20+550; var $container = jQuery('#huge_it_gallery_container_moving_37'); // add randomish size classes $container.find('.element_37').each(function(){ var $this = jQuery(this), number = parseInt( $this.find('.number').text(), 10 ); //alert(number); if ( number % 7 % 2 === 1 ) { $this.addClass('width2'); } if ( number % 3 === 0 ) { $this.addClass('height2'); } }); $container.hugeitmicro({ itemSelector : '.element_37', masonry : { columnWidth : 275+10+0 }, masonryHorizontal : { rowHeight: 'auto' }, cellsByRow : { columnWidth : 275, rowHeight : 'auto' }, cellsByColumn : { columnWidth : 275, rowHeight : 'auto' }, getSortData : { symbol : function( $elem ) { return $elem.attr('data-symbol'); }, category : function( $elem ) { return $elem.attr('data-category'); }, number : function( $elem ) { return parseInt( $elem.find('.number').text(), 10 ); }, weight : function( $elem ) { return parseFloat( $elem.find('.weight').text().replace( /[\(\)]/g, '') ); }, name : function ( $elem ) { return $elem.find('.name').text(); } } }); var $optionSets = jQuery('#huge_it_gallery_options .option-set'), $optionLinks = $optionSets.find('a'); $optionLinks.click(function(){ var $this = jQuery(this); if ( $this.hasClass('selected') ) { return false; } var $optionSet = $this.parents('.option-set'); $optionSet.find('.selected').removeClass('selected'); $this.addClass('selected'); var options = {}, key = $optionSet.attr('data-option-key'), value = $this.attr('data-option-value'); value = value === 'false' ? false : value; options[ key ] = value; if ( key === 'layoutMode' && typeof changeLayoutMode === 'function' ) { changeLayoutMode( $this, options ) } else { $container.hugeitmicro( options ); } return false; }); var isHorizontal = false; function changeLayoutMode( $link, options ) { var wasHorizontal = isHorizontal; isHorizontal = $link.hasClass('horizontal'); if ( wasHorizontal !== isHorizontal ) { var style = isHorizontal ? { height: '100%', width: $container.width() } : { width: 'auto' }; $container.filter(':animated').stop(); $container.addClass('no-transition').css( style ); setTimeout(function(){ $container.removeClass('no-transition').hugeitmicro( options ); }, 100 ) } else { $container.hugeitmicro( options ); } } var $sortBy = jQuery('#sort-by'); jQuery('#shuffle a').click(function(){ $container.hugeitmicro('shuffle'); $sortBy.find('.selected').removeClass('selected'); $sortBy.find('[data-option-value="random"]').addClass('selected'); return false; }); jQuery(window).load(function(){ $container.hugeitmicro('reLayout'); }); });
The post Winter Wonderland appeared first on Sheiling School Thornbury.
from Sheiling School Thornbury https://www.sheilingschool.org.uk/winter-wonderland/ via IFTTT
0 notes
Text
300+ TOP Ext JS Interview Questions and Answers
Ext JS Interview Questions for freshers experienced :-
1. What is Ext Js? Ext JS stands for extended JavaScript. It is a JavaScript framework to develop rich UI web based desktop applications. 2. Why did you choose Ext JS? The overall design of extjs is exemplary.One can learn a lot from it’s unified architecture – no matter which language one is programming in. Extjs requires you to start with one of their base classes – ensuring a consitent model. Consistency is extremely important for the library to be reusable. Extjs documentation seems to be very comprehensive and well maintained. key aspect of the EXTJS Library is the cross-browser support. Build rich Internet applications with Ext JS Ext JS framework is the multitude of rich UI elements provided. These elements include forms, dialog boxes, tabs, trees, and grids. The Ext JS framework includes support for Ajax implementations. Ext JS integration with other Web server frameworks. Ext JS framework development into several popular integrated development environments (IDEs), including Eclipse, Aptana, and Komodo. Ext JS provides excellent performance.The framework is fully object oriented and extensible. Because it’s written in the JavaScript language 3. What are major Web browsers supported by Ext JS framework? Windows® Internet Explorer® version 6 and later. Mozilla Firefox version 1.5 and later (PC and Macintosh). Apple Safari version 2 and later. Opera version 9 and later (PC and Mac). 4. Integration of Web development server-side frameworks with Ext JS? You can use Ext JS with other common Web development server-side frameworks, including PHP, the Java™ language, Microsoft® .NET, Ruby on Rails, and ColdFusion. 5. Where Extjs extended from ? Ext JS as a project to extend the functionality that the YUI Library.A key aspect of the YUI Library is the cross-browser support.The Extjs framework is fully object oriented and extensible. Because it’s written in the JavaScript language. 6. Extjs Ajax implementation? A typical Ext JS Ajax implementation: an HTML text field and button element that posts data in the text field to a Web server when the button is clicked. 7.Do you have any advice for developers using Ext for the first time? Ext can be used by Web Application developers who are familiar with HTML but may have little or no experience with JavaScript application development. If you are starting to build a new web application, or you are revamping an existing application, then take your time to understand the basics of the library including. 8. How to access Dom element using EXTJS? The Element API is fundamental to the entire Ext library. Using traditional Javascript, selecting a DOM node by ID is done like this: var myDiv = document.getElementById(‘myDiv’); Using Extjs: Ext.onReady(function() { var myDiv = Ext.get(‘myDiv’); }); 9. what is the purpose of Element Object in Extjs? Element wraps most of the DOM methods and properties that you’ll need, providing a convenient, unified, cross-browser DOM interface (and you can still get direct access to the underlying DOM node when you need it via Element.dom) The Element.get() method provides internal caching, so multiple calls to retrieve the same object are incredibly fast The most common actions performed on DOM nodes are built into direct, cross-browser Element methods (add/remove CSS classes, add/remove event handlers, positioning, sizing, animation, drag/drop, etc.) 10. what is syntax for Ext js Button click event? Ext.onReady(function() { Ext.get(‘myButton’).on(‘click’, function(){ alert(“You clicked the button”); }); }); ulating it. 11. what is use of Ext.onReady() function ? Ext.onReady is probably the first method that you’ll use on every page. This method is automatically called once the DOM is fully loaded, guaranteeing that any page elements that you may want to reference will be available when the script runs syntax: Ext.onReady(function() { alert(“Congratulations! You have Ext configured correctly!”); }); 12. For example, to show our message when any paragraph in our test page is clicked, what is the extjs code on paragraph click? Ext.onReady(function() { Ext.select(‘p’).on(‘click’, function() { alert(“You clicked a paragraph”); }); }); or Ext.onReady(function() { var paragraphClicked = function() { alert(“You clicked a paragraph”); } Ext.select(‘p’).on(‘click’, paragraphClicked); }); 13. List out the extjs library files to include in JSP page? ext-base.js ext-all-debug.js or ext-all.js ext-all.css base.css or examples.css 14. List out the css file required to apply Extjs Theme property? xtheme-gray.css ext-all.css 15. what is purpose of MessageBox? MessageBox is asynchronous. MessageBox call, which demonstrates the readable message to user. MessageBox used for multiple purpose like Ext.Msg.alert() Ext.Msg.prompt() Ext.Msg.show({}); Ext.Msg.wait(); 16. write syntax for MessageBox show() method? Ext.MessageBox.show({ title: ‘Paragraph Clicked’, msg: ‘User clicked on Paragraph’, width:400, buttons: Ext.MessageBox.OK, animEl: paragraph }); 17. what is method to Update the message box body text for MessageBox? updateText( ) : Ext.MessageBox 18. what is a widget? A widget is a tiny piece or component of functionality. 19.what is parent class for all stores in extjs? how many stores exists? Ext.data.Store is parent class for all stores. A Store object uses its configured implementation of DataProxy to access a data object unless you call loadData directly and pass in your data. subclasses for Store: GroupingStore, JsonStore, SimpleStore 20. How to handle event for a extjs component? using listeners config object. For ex for grid events : listeners: {rowclick: gridRowClickHandler,rowdblclick: gridRowDoubleClickHandler} using addListener( String eventName, Function handler, , ) : void Appends an event handler to this component using on( String eventName, Function handler, , ) : void Appends an event handler to this element (shorthand for addListener) For ex: store.on( “datachanged”, function( store ){ ….. }); 21. How to find no of records in a store? using store.getCount() : Gets the number of cached records. store.getTotalCount() : Gets the total number of records in the dataset as returned by the server. 22. How to handle exception while loading datastore? using loadexception event. syntax: store.loadexception() : Fires if an exception occurs in the Proxy during loading. use beforeload : ( Store this, Object options ) : Fires before a request is made for a new data object. If the beforeload handler returns false the load action will be canceled. syntax: store.on(‘loadexception’, function(event, options, response, error) { alert(“Handling the error”); event.stopEvent(); }); 23. how to handle updates for store changes? use store.commitChanges() 24. what is the purpose of each() in store? Calls the specified function for each of the Records in the cache each( Function fn, ) 25. how to get modified records using store object? store.getModifiedRecords() : Gets all records modified since the last commit. 26. how to get record using index? store.getAt( Number index ) : Get the Record at the specified index. 27. how to get record using id? store.getById( String id ) : Get the Record with the specified id. 28. what is the purpose of load() in store? store.load() : returns boolean Loads the Record cache from the configured Proxy using the configured Reader. For remote data sources, loading is asynchronous, and this call will return before the new data has been loaded. store.load({callback: fnCheckData, scope: this}); 29. what is purpose of loadData() in store? store.loadData( Object data, ) : void Loads data from a passed data block and fires the load event. loadData(storeData,false); False to replace the existing records cache. loadData(storeData,true) : True to append the new Records rather than replace the existing cache. 30. How many types of layout managers exist in extjs?what are they? Layouts fall under this package Ext.layout.* Types of layouts: Absolute Layout: This is a simple layout style that allows you to position items within a container using CSS-style absolute positioning via XY coordinates. Accordion Layout: Displays one panel at a time in a stacked layout. No special config properties are required other than the layout. All panels added to the container will be converted to accordion panels. AnchorLayout: This type of layout is most commonly seen within FormPanels (or any container with a FormLayout) where fields are sized relative to the container without hard-coding their dimensions. BorderLayout: Border layouts can be nested with just about any level of complexity that you might need. Every border layout must at least have a center region. All other regions are optional. CardLayout (TabPanel): The TabPanel component is an excellent example of a sophisticated card layout. Each tab is just a panel managed by the card layout such that only one is visible at a time CardLayout (Wizard): You can use a CardLayout to create your own custom wizard-style screen. FitLayout: A very simple layout that simply fills the container with a single panel. FormLayout: FormLayout has specific logic to deal with form fields, labels, etc.FormLayout in a standard panel, ColumnLayout: This is a useful layout style when you need multiple columns that can have varying content height.Any fixed-width column widths are calculated first, then any percentage-width columns specified using the columnWidth config TableLayout: Outputs a standard HTML table as the layout container.you want to allow the contents to flow naturally based on standard browser table layout rules. data, plus manip 31. How we can apply pagination in grid panel ? using Ext.PagingToolbar plugin, we can implement pagination to a grid panel syntax: new Ext.PagingToolbar({ pageSize: 25, store: store, displayInfo: true, displayMsg: ‘Displaying topics {0} – {1} of {2}’, emptyMsg: “No topics to display”, }) // trigger the data store load store.load({params:{start:0, limit:25}}); 32. what is xtype? The xtype will be looked up at render time up to determine what type of child Component like TextField, NumberField etc to create. i,e xtype = Class ———————- button = Ext.Button textfield = Ext.form.TextField radio – Ext.form.Radio grid = Ext.grid.GridPanel combo = Ext.form.Combobox toolbar = Ext.Toolbar 33. what is vtype? The validations provided are basic and intended to be easily customizable and extended. Few vtypes provided by extjs are as below: emailText : String, The error text to display when the email validation function returns false alphanumText : String, The error text to display when the alphanumeric validation function returns false urlText : String, The error text to display when the url validation function returns false 34.Why we need javascript Library? Javascript is an awesome language. It’s super flexible.Browsers are the modern UI paradigm. The javascript Libraries now must provide a rich set of UI Widgets. javascript libraries: JQuery Qooxdoo Dojo Prototype.js mootools extjs 35.how to get record object from store: var record = grid.getStore().getAt(rowIndex); 36. purpose of Load mask? To apply mask to page level / component level. restrict user not to access any components in page var pageProcessBox = new Ext.LoadMask( Ext.getBody(), { msg: ‘Loading Employee details.’ } ); pageProcessBox.show(); 37. purpose of renderer in grid panel? using config option, renderer: fnCellColor where fnCellColor is method to apply color to a cell. 38. how to get selection model used in a grid panel? using grid.getSelectionModel(); method 39. how to stop editing a record? newRecord.endEdit(); 40. how to start editing a record? newRecord.beginEdit(); 41. how to commit a record modification? newRecord.commit(); 42. what is use of combo select event function? To get the selected value from a combo.using getvalue(); var selectedComboValue = mycombo1.getValue(); 43. how to get a value of textfield or combo box? using getvalue(); var selectedValue = mytextfield.getValue(); 44. how to apply css on select of combo box? using config option as emptyClass : ’emptycss’, where emptycss is a css classname 45. what are components required for grid panel? store, columnmodel, id, width,height 46. how to disable menu option for header in columnModel? using menuDisabled: true 47. how to hide the column in grid panel? using hidden : true 48. How to register callbacks to the load and exception events of the JsonStore? var grid = new Ext.grid.GridPanel({ store: new Ext.data.JsonStore({ listeners: { load: this.onLoadSuccess.crateDelegate(this), exception: this.onLoadException.createDelegate(this) } }), onLoadSuccess: function () { // success }, onLoadException: function () { // error }, } 49. extjs decode() ? var json = Ext.decode(response.responseText); Ext.Msg.alert(‘Error’, json.error); 50. Extjs Vs jQuery: ExtJs and JQuery are kind of apples and oranges. You can compare Ext Core to JQuery, and ExtJs to JQuery UI. Ext JS is a full-fledged widget library while jQuery (not jQuery UI) and Mootools are JavaScript frameworks that help with DOM manipulation etc. Whilst jQuery and Mootools help with the general workings of a site. jQuery UI is a much less rich set of components. Ext JS seems to be focussed on tables and storing Ext JS Questions and Answers pdf Download Read the full article
0 notes
Text
WHAT THE HEADS UP GRID CAN DO FOR YOU ?
In the past Netscape and Internet Explorer were the main programs a web designer needed to stress over.
Be that as it may, back then, a site principally comprised of some content, a couple of pictures and a few hyperlinks. Keep in mind, tables were still extremely popular in those days.
These days a client may have a couple of various programs to look over, numerous PCs running distinctive screen goals, a tablet gadget and a cell phone. What's more, sites, they are more perplexing than the great old static days.
So to address the issues of the diverse screen goals, fluctuating programs and a wide range of gadgets used to see a site numerous engineers swing to responsive website architecture. To take advantage of this methodology The Heads Up Grid might be your closest companion.
Click here to download www.roku.com/link
Generally, engineers have utilized instruments like Photoshop for lattice based plans. This presents issues in a live program since things don't generally extend as arranged. To ease issues that surface in complex page structure it is typical to swing to doing a great part of the plan work in the program with the assistance of Firebug.
In any event it was for Jason Simanek. So he made The Heads Up Grid to make life somewhat less demanding.
The Heads Up Grid is an apparatus worked with HTML, CSS and JavaScript touted as "an overlay network for in-program site development".And with regards to responsive plan, it is the ideal instrument.
Utilizing The Heads Up Grid is easy to utilize. Begin by downloading the document gave on the landing page and after that transferring them to your web server. Next, characterize the accompanying in the code gave:
Page units in pixels or rate
Section units in pixels or rate
Page width by number
Number of sections by number
Section width by number
Canal width by number
The best edge for the page by number
Column tallness by number
You at that point rehash the procedure for various program widths you can set up different matrices that are rendered dependent on the program.
You can likewise set the left and right edges just as regardless of whether the matrix stacks consequently.
<link href="headsupgrid/hugrid.css" type="text/css" rel="stylesheet"/>
<script src="headsupgrid/jquery-1.6.2.min.js"></script>
<script src="headsupgrid/hugrid.js"></script>
<script type="text/javascript">
definegrid = work() {
var browserWidth = $(window).width();
on the off chance that (browserWidth >= 1001)
{
pageUnits = 'px';
colUnits = 'px';
pagewidth = 960;
segments = 6;
columnwidth = 140;
gutterwidth = 24;
pagetopmargin = 35;
rowheight = 20;
makehugrid();
}
on the off chance that (browserWidth <= 1000)
{
pageUnits = '%';
colUnits = '%';
pagewidth = 94;
segments = 2;
columnwidth = 48;
gutterwidth = 4;
pagetopmargin = 35;
rowheight = 20;
makehugrid();
}
on the off chance that (browserWidth <= 768)
{
pageUnits = '%';
colUnits = '%';
pagewidth = 96;
segments = 2;
columnwidth = 49;
gutterwidth = 2;
pagetopmargin = 35;
rowheight = 20;
makehugrid();
}
}
$(document).ready(function() {
definegrid();
setgridonload();
});
$(window).resize(function() {
definegrid();
});
</script>
Following the lattices, you can without much of a stretch line up pictures and content so things simply work when seen by anybody utilizing pretty much anything.
0 notes