Computer lessons

Changing css jquery. Another freelance blog

jQuery has three categories of methods: some manipulate elements that match a pattern; the second ones return the values ​​of the element, and the third ones change the elements themselves.

Today we will look at the methods that are used for CSS styles.

So, to add a style to any element, you need to use the following method:

.css(name,value)

Example:

$("div").css("border", "1px solid blue");

This instruction will surround the div with a blue border.

The parameters used here are the names and values ​​applicable in: , font-style, color, etc.

If you need to set several CSS rules for an element, then it is better to use the following construction:

.css((properties))

Example:

$("div").css(( border:"1px solid blue", fontWeight:"bolder", backgroundColor:"red" ));

This instruction will outline a div with a blue border, make the background red, and the text bold.

Note that complex CSS properties like font-weight and background-color use their JS equivalents: fontWeight, backgroundColor, etc.

We list other methods for working with styles:

  • .addClass(class)

    Example:

    $("p:last").addClass("main");

    This statement will add the main class to the last element of the paragraph.

  • .removeClass(class)

    Example:

    $("p:even").removeClass("main");

    This instruction will remove the main class from all even paragraphs.

  • .toggleClass(class)

    Example:

    $("p").toggleClass("main");

    This instruction will remove the main class from all paragraphs, if present. And will add this class if it is missing.

  • .offset()

    Example:

    var offDiv=$("div").offset();

    This instruction allows you to obtain for an element. To get the values ​​of a specific property, you need to use the following properties: offset.left for left indent and offset.top for top indent.

  • .height(value)

    Example:

    $("div").height(); $("div").height(200);

    This instruction allows you to get (first line) and set (second line) the height of the element.

  • .width(value)

    Example:

    $("div").width(); $("div").width(200);

    This instruction allows you to get (first line) and set (second line) the width of the element.

    Another example:

    var widDiv=$("div").width(); $("div.fir").width(300);

    The first line will write the width of the first div to the widDiv variable. The second instruction will set the divs of class fir to be 300 pixels wide.

    This is a very interesting feature of jQuery methods: they are used both to set parameters (when 2 arguments are accepted) and to obtain the values ​​of these parameters (if one argument is passed).

Let's use the knowledge we've gained to make a menu with tabs like this (click on the tabs):

jQuery - CSS

Tab 1

Tab 2

Tab 3

Tab 4

So, the html code of the page is as follows:

jQuery - CSS

Tab 1

Tab 2

Tab 3

Tab 4

As you can see, all tabs have the same style, defined by the vkl class, and the selected tab has the selected class. We will write the appearance on the page style.css

Vkl( float:left; width:140px; height:28px; background:#E5BA83; color:white; font-size:20px; border-right:1px solid white; padding-left:10px; ) #content( width:603px ; height:100px; background:#CCA675; ) .selected( background:#CCA675; )

The most interesting thing remains, namely the chang() function:

function chang(s)( $(".selected").removeClass("selected"); $(s).addClass("selected"); )

So how does this feature work? First, an element is searched that has the selected class, and this class is removed from it. Then (second line) the class selected is added to the selected element (it is located by the id passed to the function as parameter s). It's that simple.

In the next lesson, we'll learn how to use jQuery to insert and manipulate entire pieces of html code into a page.

It's been a long time since I've had any articles about JQuery on my blog. No, there were articles using it, of course, but it acted there as an auxiliary tool, and in the meantime the “Learning JQuery” section was covered in dust. Meanwhile, the time has come to move on to the most interesting part of the training - adding various effects, which is exactly why many people start studying it. And in today's article you will learn how to change CSS properties on the fly.

Before we get into the effects itself, let's back up a bit and take a look at the CSS. In previous articles, we changed the appearance of the page by adding or removing various CSS classes, which, of course, must first be created in the CSS file. This is generally the correct way to go because it takes into account the role of CSS in building the page.

However, there are times when you need to change a CSS style that is not in the stylesheet, or that cannot be described. For such cases, JQuery has the .css() method.

In order to get the value of a CSS property, we must simply pass the property name as a string, something like this. css('backgroundColor') .

Properties consisting of several words can be written with a hyphen, as in a CSS file (background-color), or different case, as they are written in the DOM (backgroundColor). To set CSS properties, the .css() method uses two methods. The first method is two parameters, the name of the CSS property and its value, separated by commas. The second is a map consisting of property-value pairs.

Css("property","value") .css((property1: "value1", "property-2": "value2"))

We will use the method. css() , just like we used .addClass() - we combine them with a selector and bind the event. Let's look at the .css() method using a specific example. We will need the following HTML markup:

The collections on the Insert tab contain elements that define the overall appearance of your document. These collections are used to insert tables, headers, footers, lists, cover pages, and other building blocks into a document. When you create pictures, diagrams, or diagrams, they are consistent with the appearance of the current document.

And some CSS:

#textbox( border: 1px solid #000; background: #DFECFF; margin: 20px auto; text-align: left; padding: 10px; width: 400px; color: #0000a0; font-style: italic; clear: both; )

As a result, we will have a page like this:

There are two buttons on the page - to increase and decrease the font. In principle, here we can use the .addClass() method described in the previous article, but let's complicate the task a little and imagine that we need to reduce or increase the text each time the corresponding button is pressed. This, of course, can be implemented by describing a separate class for each click, but it will be much easier to get the current text size and increase (decrease) it by a given value.

Our code traditionally starts with $(document).ready() and a button event handler $("#increase").click() :

$(document).ready(function())( $("#increase").click(function())( )); ))

Next, the font size can be easily obtained via $(“#textbox”).css("fontSize") . However, the return value will contain both the number and the units, so we need to store each part in its own variable, after which we can increment the number and reattach the units to it. Also, we plan to use the JQuery object more than once, so it would be a good idea to store it in a variable as well.

$(document).ready(function() ( $("#increase").click(function() ( var $speech = $("div.speech"); var currentSize = $speech.css("fontSize") ; var num = parseFloat(currentSize, 10); var unit = currentSize.slice(-2); num *= 1.4; $speech.css("fontSize", num + unit); )); ));

The first line inside the .click() function stores a variable with the #textblock block.

Note that we use the $ symbol in the $speech variable name. Since $ is a valid character for JavaScript variables, we can use it as a reminder that this variable stores a JQuery object. The next line saves the font size of the #textblock block into a variable - for example, 12px.

After that we use parseFloat() and slice() . The parseFloat() function is used to convert string values ​​to numeric (decimal) values. For example, the string 12 will be converted to the number 12. If the string begins with a non-numeric character, parseFloat() will return NaN, which means: "Not a numeric value" ( Not a Number).The second argument of the parseFloat() function ensures that the number will be converted to a decimal value.

The .sice() method returns a substring starting at a specific character in the string. Since the name of the units we are using is two characters long (px), we specify that the substring must begin with the last two characters of the main string.

All we have to do is multiply the resulting value of the num variable by 1.4, and then set the font size by concatenating the two variables num and unit:

$(document).ready(function())( $("#increase").click(function())( var $speech = $("#textbox"); var currentSize = $speech.css("fontSize"); var num = parseFloat(currentSize, 10); var unit = currentSize.slice(-2); num*=1.4; $speech.css("fontSize", num + unit); )); ))

Now, after clicking on the “Enlarge” button, the text in the block increases, as in the presented screenshot:

The next click on the same button continues to increase the text in the block.

In order to make the “Decrease” button work, we will divide the value of the variable – num/=1.4. And in order not to increase the code size, we can combine two .click() event handlers into one, through the button class. Then, after setting the variables, we can easily multiply or divide based on the ID of the button that was pressed. This is what the code should look like:

$(document).ready(function())( $("input").click(function())( var $speech = $("#textbox"); var currentSize = $speech.css("fontSize"); var num = parseFloat(currentSize, 10); var unit = currentSize.slice(-2); if (this.id=="increase")( num*=1.4; ) else if(this.id=="decrease") ( num/=1.4; ) $speech.css("fontSize", num + unit); )); ))

Above was the simplest example of using the .css() method in practice. One more example of using this method can be given.

Separating menu items

Quite often in design there is such a technique as dividing menu items with a vertical line, and the first and last menu item should not have a side line.

Such a menu will require the following HTML markup:

Ul( list-style: none; ) ul li( list-style: none; float: left; background: #DFECFF; display: block; padding: 10px; border-right: 1px gray solid; ) ul li a( text- decoration: none; color: #000; )

This is what our menu will look like:

And in order to remove the right separator from the last menu item (fourth item), you can use this code:

$(document).ready(function())( $("#menu ul li:last").css("border-right", "none"); ));

And as a result, we get this menu:

As you can see, using this method is quite simple and convenient, but still try not to abuse it, but use it only in cases where it is not possible to add the desired style to the CSS file.

Save this page to test the examples below.

The jQuery library provides a number of convenient, specialized methods that make working with CSS styles much easier. One of the most widely used methods of this kind is css() method, a brief description of which is given in the table below:

When you read property values ​​using the css() method, you get the property value that the first of the elements contained in the jQuery object has. At the same time, when you set a property, the change you make is applied to all elements of the set. An example of the simplest use of the css() method is given below:

$(function() ( var sizeVal = $("label").css("font-size"); console.log("Font size: " + sizeVal); $("label").css("font- size", "1.5em"); ));

In this script, we select all label elements, get the value of the font-size property using the css() method, and print it to the console. Then we select all label elements again and assign a new value of the same property to all elements.

Despite the fact that the script uses the actual name of the property (font-size), and not its case-sensitive notation, i.e. the entry form in which this property is defined in the HTMLElement object (the fontSize property), it is also accepted correctly, since jQuery supports both options.

As a result of running this script, the following result is displayed on the console:

Setting a property to the empty string ("") is equivalent to removing that property from the element's style attribute.

Setting multiple CSS properties at once

There are two ways to set multiple CSS properties at once. The first one is to form a chain of calls to the css() method, as shown below:

$(function() ( $("label").css("font-size", "1.5em").css("color", "blue"); ));

This script sets the font-size and color properties. The same effect can be achieved using a display object, as shown in the example below:

$(function() ( var cssVals = ( "font-size": "1.5em", "color": "blue" ); $("label").css(cssVals); ));

Both scenarios lead to the same result, shown in the figure:

Setting relative values

The css() method can also take relative values ​​as arguments. They are numeric values ​​that are preceded by += and -= signs and are added to or subtracted from the current value. This technique can only be used for numerical values. A corresponding example is given below:

$(function() ( $("label:odd").css("font-size", "+=5") $("label:even").css("font-size", "-=5 ") ));

Relative values ​​are expressed in the same units as property values. In this case, the font size is increased by 5 pixels for odd label elements and decreased by the same amount for even ones. The result is shown in the figure:

Setting properties using a function

You can set property values ​​dynamically by passing a function to the css() method. A corresponding example is given below:

$(function() ( $("label").css("border", function(index, currentValue) ( ​​if ($(this).closest("#row1").length > 0) ( return "thick solid red"; ) else if (index % 2 == 1) ( return "thick double blue"; ) )); ));

The arguments passed to the function are the index of the element in the set and the current value of the property. The this variable refers to the HTMLElement object corresponding to the element, and the function returns the value to be set.

Using specialized methods to work with CSS properties

In addition to the css() method, jQuery defines a number of specialized methods for getting or setting the values ​​of specific properties. A list of these methods is given in the table below:

Methods for working with specific CSS properties
Method Description
height() Returns the height (in pixels) of the first element contained in a jQuery object
height(value) Sets the height of all elements contained in a jQuery object
innerHeight() Returns the intrinsic height (that is, the height of an element, including padding, but excluding borders and margins) of the first element contained in a jQuery object
innerWidth() Returns the intrinsic width (that is, the width of the element, including padding, but excluding borders and margins) of the first element contained in a jQuery object
offset() Returns the coordinates of the first of the elements contained in a jQuery object, relative to the beginning of the document
outerHeight(boolean_value) Returns the height of the first element contained in a jQuery object, including padding and border. The argument determines whether the size of the fields should be taken into account in this case
outerWidth(boolean_value) Gets the width of the first element contained in a jQuery object, including padding and border. The argument determines whether the size of the fields should be taken into account in this case
position() Returns the coordinates of the first element contained in a jQuery object relative to its parent element that has a positioning type specified
scrollLeft(), scrollTop() Gets the left or top scroll padding value for the first of the elements contained in a jQuery object
scrollLeft(value), scrollTop(value) Sets the left or top scroll padding value for all elements contained in a jQuery object
width() Gets the width of the first element contained in a jQuery object
width(value) Sets the width for all elements contained in a jQuery object
height(function), width(function) Sets the height or width of all elements contained in a jQuery object using the function

The names of most of these methods are self-explanatory, but some of them require additional explanation. Methods offset() And position() return an object having properties top And left, which indicate the position of the element. An example of using the position() method is given below.

The jQuery library allows you to manipulate the properties and attributes of the elements of a wrapped set by changing the original values. You can set new properties and get and change the values ​​of the original properties. By removing or adding classes, you can dynamically change the display style of elements.

Manipulating Element Properties and Attributes

1. Adding and removing a class

1.1. Method.addClass()

Adds the specified class (or multiple classes) to each element of the wrapped set. For this method to work, you must first create a style for the added class. The method does not remove the old class, but simply adds a new one.

AddClass(class name) class name— one or more class names, separated by spaces. .addClass(function) function- returns one or more class names, separated by space, to be appended to existing ones. Takes as argument the index of an element in the set and the existing name of the class(es).

1.2. Method.removeClass()

Removes the specified class name(s) from all elements of the wrapped set.

RemoveClass(class name) class name— optional parameter, one or more class names separated by a space. If the class name is not specified, the method removes all existing classes from the elements of the set. If a class name is specified, deletes only the specified class. .removeClass(function) function- Returns one or more class names, separated by space, to be removed from existing ones. Takes as argument the index of the element in the set and the old name of the class(es).

1.3. Method.toggleClass()

Adds or removes one or more classes from each element in the set. Each element of the wrapped set is checked separately. The method adds the specified class name if it is not present in the element, and removes it from those elements where it is present. Used to toggle the visual representation of elements.

ToggleClass(class name) class name- one or more class names, separated by spaces, that will be toggled for each element of the set. .toggleClass(class name, boolean) class name- one or more class names, separated by spaces, that will be toggled for each element of the set. boolean value— installs, adds or removes the specified class. True adds the class, false removes it. .toggleClass(boolean) boolean value— optional parameter, sets whether the classes of each element of the set will be switched. .toggleClass(function, boolean) function- returns the name of the class that will be toggled for each element of the set. Receives as arguments the index of the element in the set and the old value of the class. boolean value— optional parameter, sets whether the classes of each element of the set will be switched.

1.4. Method.hasClass()

Checks if at least one element in the matching set has the specified class name. Returns true if at least one of the elements in the set has a valid class name, false otherwise.

HasClass(class name) class name— a string with the name of the class to search for.

2. Changing element attributes

The method gets the attribute value of the first element of the set or sets one or more attribute values ​​for the elements of the set.

2.1. Method.attr()

.attr(attribute name) attribute name- Returns the attribute value of the first element in the wrapped set. If the attribute is missing, returns undefined. .attr(attribute name, value) attribute name meaning- a string or number that will be added as an attribute value for all elements of the wrapped set. .attr(attributes) attributes- the values ​​that are copied from the object's properties will be set for all elements of the wrapped set. .attr(attribute name, function) attribute name— specifies the name of the attribute for which the specified value will be set. function— takes as arguments the index of the element in the set and the old value of the attribute. The return value will be set to the value of the attribute.

2.2. Method.removeAttr()

Removes the specified attribute from each element of the wrapped set.

RemoveAttr(attribute name) attribute name— a string defining the attribute to be deleted.

3. Changing element properties

3.1. Method.css()

Returns the calculated value of the style property for the first element in the wrapped set, or sets one or more CSS properties for each element in the set.

Css(property name) property name— a string with the name of the property, returns its calculated value for the first element of the set. .css(property names) property names— an array of properties, returns their calculated values ​​for the first element of the set. .css(property name, value) property name meaning is a string or number that will be set as the value of the specified property for all elements of the wrapped set. .css(property name, function) property name— a string with the property name. function— the index of the element in the set and the old value of the property are passed as arguments to the function. The return value will be set to all elements of the set. .css(properties object) properties object- adds CSS properties whose names are defined as keys in the passed object to their associated values ​​for all elements in the corresponding set.

4. Getting and changing the dimensions and coordinates of an element

4.1. Method.width()

Returns the current width for the first element in a set, or sets the width for each element in a set. The default unit of measurement is px. The method can be used if the obtained value will be used in mathematical calculations. Dimensions are calculated without taking into account indents and frame thickness, without specifying the unit of measurement. As you resize the browser window, the element's dimensions may change.

Width() The method is called without parameters. Returns the current width value for the first element in a set, without specifying a unit. .width(value) meaning- an integer numeric value or string value of the width that will be set for each element of the set. .width(function) function- takes as an argument the index of the element and the old value of the property, the return value will be set to the width for all elements.

4.2. Method.height()

Returns the current height value for the first element in a set, or sets the height for each element in a set.

Height() The method is called without parameters. Returns the current height value for the first element in a set. .height(value) meaning— an integer numeric value or string-height value that will be set for each element of the set. .height(function) function- takes as an argument the index of the element and the old value of the property, the return value will be set to the height of all elements.

4.3. Method.innerWidth()

Returns the width of the first element in the wrapped set, including padding, or sets it for each element of the wrapped set.

InnerWidth() The method is called without parameters. Returns the current inner width for the first element in a set. .innerWidth(value) meaning— an integer numeric value that will be set for each element of the set. .innerWidth(function) function

4.4. Method.innerHeight()

Returns the height of the first element in the wrapped set, taking into account padding.

InnerHeight() The method is called without parameters. Returns the current inner height value for the first element in a set. .innerHeight(value) meaning— an integer numeric value that will be set for each element of the set. .innerHeight(function) function- takes as an argument the index of the element and the old value of the property, the return value will be set to the internal width for all elements of the set.

4.5. Method.outerWidth()

Return the width of the first element in the wrapped set. These dimensions include the thickness of the frame and the width of the indent.

OuterWidth(boolean) boolean value

4.6. Method.outerHeight()

Return the height of the first element in the wrapped set. These dimensions include the thickness of the frame and the width of the indent.

OuterHeight(boolean) boolean value— optional value, if set to true , the margin value is taken into account, otherwise not.

4.7. Method.offset()

Gets the current coordinates of the first element or sets the coordinates for each element. Returns a JavaScript object with left and top properties containing the px coordinates of the first element of the wrapped set relative to the start of the document. The method applies only to visible elements.

Offset() The method is called without parameters.

4.8. Method.position()

Returns a JavaScript object with the left and top properties containing the px coordinates of the first element of the wrapped set relative to the closest parent element. The method applies only to visible elements.

Position() The method is called without parameters.


Good afternoon everyone. Today, as I promised in the lesson, we will look at the methods that are used to manage CSS styles using jQuery.

Let me remind you that with the help of styles we can not only determine the appearance of an element on a web page, but also control its position, show and hide it at will, change its size, and much more. Figuratively speaking, the one who gets access to style management CSS, he controls the web page itself! A jQuery provides this opportunity to its users!

IN jQuery There are three categories of methods: some manipulate selected elements, others return element values, and others modify the elements themselves.

To add a style to any element, you must use the following method: .css(name,value)

Let's change the style of the article title before we go too far from the top of the page. Let's make it, for example, red:

.

$("#title".css("color", "#cc0000");


In this example, I selected the element with id id="title", which is responsible for displaying the site name and added style i.e. color. And the buttons are responsible for applying or returning the default style.
The parameters can be names and values ​​applicable in CSS: background, border, font-style, color etc.

If you need to specify several for an element CSS-rules, it is better to use the following construction:

.css((properties))

$("#text").css(( "color" : "blue", "fontStyle" : "italic", "font-weight" : 900 ));


This instruction will change the text color of the previous paragraph to blue and set the font weight to 900.

Please note that for complex properties CSS like font-weight And background-color their equivalents from JavaScript: fontWeight, backgroundColor etc.

To demonstrate other methods of working with styles, I will use the help of multi-colored squares, which have already served me many times in such lessons as and.

Let me remind you the code and styles for creating them:

HTML code:


CSS Styles:

DivRel (position:relative; width:600px; height:275px; border:dotted 1;).big (position:absolute; width:200px; height:200px; left:200px; top:50px; background-color:red; border :solid 1px white; color:white; text-align:right; z-index:1;).red (position:absolute; width:100px; height:100px; left:200px; top:50px; background-color:red ; border:solid 1px white; color:white; text-align:right; z-index:1;).green (position:absolute; width:100px; height:100px; left:250px; top:75px; background-color :green; border:solid 1px white; color:white; text-align:right; z-index:2;) .blue (position:absolute; width:100px; height:100px; left:300px; top:100px; background -color:blue; border:solid 1px white;color:white; text-align:right; z-index:3; cursor:pointer;)


Consider deleting and assigning to some element CSS-class:
.removeClass(class)
.addClass(class)


$("#style2").click(function())( $("#divRel1 > div:first").removeClass(); )); $("#rstyle2").click(function())( $("#divRel1 > div:first").addClass("big"); ));


These instructions for pressing the button: "Delete class", will remove the class from the first child element contained in the identifier id="divRel1" and add a class to it class="big" after clicking the button: "Add class".

The following method adds the specified class to an element if it does not exist, or removes this class if the element already has one:
.toggleClass(class)

Try clicking with the mouse within the frame surrounding the colored squares. The background color will alternately change.

$("#divRel1").click(function () ( $(this).toggleClass("yellow"); ));


And you can get (first line) and set (second line) the width and height of the element element, respectively, using the methods:
.width()
.width(value)
.height()
.height(value)

$("#divRel1 > div:last").toggle(function())( $ (this).width(200).height(170); ),function())( $ (this).width(100).height (100); ));


The code shown above selects the latter :last identifier element id="divRel1" and using the switch toggle changes or restores the default value when you click on the blue square. The style tooltip has a property defined: cursor:pointer.

This is a very interesting and important feature of the methods jQuery: they are used for tasks parameters, and for receiving values ​​of these parameters.

But that's not all! jQuery allows, if necessary, to delete CSS-file associated with HTML-page and link a new one:
$("link").attr("href", "Alternative.css");

Try changing the styles or code at your discretion jQuery. I wonder what you can do?

Date of: 2011-06-28

Like

Comments to the note:

Great article. All clear. Thank you.

This is precisely why we recruit remote employees who will do the work, that is, give likes and get paid for it.

You just need to register on our service. > www.oplata-vklike.tk<

We offer you work without investment, using a system for automatically receiving and processing orders.

We provide:

Our licensed software.
- documents with all necessary additional information. information.
- constant technical support.

Payment from 5500 per day. Payments daily.

More detailed information on our website >> obrabotka.zarplatt.ru<<

Our service provides real likes on photos for customers who are willing to pay for quality.

To become our remote employee and start liking, while earning 45 rubles per 1 like,

You just need to register on our service. > http://oplata-vklike.tk/<

Withdrawal of earned funds daily within a few minutes.

Stable job with training, high salary!

You work from home! Completely honest and transparent;
Available to everyone - no matter who you are or what experience you have on the Internet!
You will earn: over four thousand rubles a day!
Difficulty: Easy!
Payment: - the next day the money is in your account!

Read the terms and conditions on our website. > realno-money.tk< Скопируйте и вставьте в адресную строку Вашего браузера.

Our service provides real likes on photos for customers who are willing to pay for quality.

This is precisely why we recruit remote employees who will do the work, that is, give likes and earn money for it.

To become our remote employee and start liking, while earning 45 rubles per 1 like,

You just need to register on our service. > oplata-vklike.tk<

Withdrawal of earned funds daily within a few minutes.


work via the Internet, with daily payments of up to 11,000 rubles.



Register on our website. > www.airline-rabota.tk<

I suggest. Exciting work on the Internet. Without experience. Confident income from 5000 rubles. per day. This system is understandable to absolutely everyone.
You don't have to work all day! It is enough to devote a couple of hours a day to work.
Stop thinking that you can’t make money on the World Wide Web, you can make money on the Internet!
In easy and understandable ways for everyone. The most important thing is to be honest!
You can set the operating mode yourself.
More detailed information is on our website. > http://oplata-vklike.tk< скопируйте и вставьте в адресную строку вашего браузера.

This is precisely why we recruit remote employees who will do the work, that is, give likes and earn money for it.

To become our remote employee and start liking, while earning 45 rubles per 1 like,

You just need to register on our service. > http://oplata-vklike.tk/<

Withdrawal of earned funds daily within a few minutes.

A unique service to help you obtain a loan from a private investor, as well as credit institutions. Suitable for both companies and individuals.

Loan from a private investor.

Our company helps meet the investor and the borrower.

Direct contact with the investor
Any credit history
All you need is a passport
We work with individuals and companies
Any region
Amount from 5,000 to 50,000,000 rubles
Approval rate 97%

Advantages:

No collateral or guarantee!
- Rate - from only 1% per month!
- No hidden fees or commissions!

Submit an application on our website. > www.ch-investor.tk<

Our service provides real likes on photos for customers who are willing to pay for quality.

This is precisely why we recruit remote employees who will do the work, that is, give likes and earn money for it.

To become our remote employee and start liking, while earning 45 rubles per 1 like,

You just need to register on our service. > http://oplata-vklike.tk/<

Withdrawal of earned funds daily within a few minutes.

The leading company in Russia and the CIS countries in the sale of Airline tickets

The largest international company selling A/V tickets
is urgently recruiting employees on a permanent basis for simple
work via the Internet, with daily payments from 11,000 rubles.

Working in our company you get:

Compliance with the labor code
- Full benefits package, paid vacation, sick leave, sanatorium.
- Each of our employees at home is guaranteed to receive a high income. rub. in a day.
- Guaranteed stable payments of earned money.
- Payments occur daily to bank cards or electronic wallets.

Register on our website. > http://airline-rabota.tk/<

No investment, no experience or professional skills required!